diff --git a/build-logic/src/main/kotlin/com/titi/common/BuildInfo.kt b/build-logic/src/main/kotlin/com/titi/common/BuildInfo.kt index 1e96a22a..4547a443 100644 --- a/build-logic/src/main/kotlin/com/titi/common/BuildInfo.kt +++ b/build-logic/src/main/kotlin/com/titi/common/BuildInfo.kt @@ -9,7 +9,7 @@ object BuildType { object AppConfig { const val APP_ID = "com.titi.app" - const val APP_VERSION_NAME = "1.2.1" - const val APP_VERSION_CODE = 36 + const val APP_VERSION_NAME = "1.3.0" + const val APP_VERSION_CODE = 38 const val APP_NAME = "TiTi" } \ No newline at end of file diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsAnimatedCounter.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsAnimatedCounter.kt index 1b58c9a1..6b78c513 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsAnimatedCounter.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsAnimatedCounter.kt @@ -76,7 +76,7 @@ private fun TdsAnimatedCounterPreview() { TdsAnimatedCounter( count = 13, color = TdsColor.TEXT.getColor(), - textStyle = TdsTextStyle.BLACK_TEXT_STYLE, + textStyle = TdsTextStyle.EXTRA_BOLD_TEXT_STYLE, fontSize = 40.sp, ) } diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsCircularProgressIndicator.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsCircularProgressIndicator.kt index 21ff78de..8318c8ef 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsCircularProgressIndicator.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsCircularProgressIndicator.kt @@ -42,7 +42,7 @@ fun TdsCircularProgressIndicator( CircularProgressIndicator( modifier = Modifier.fillMaxSize(), - progress = sumTime / maxTime.toFloat(), + progress = { sumTime / maxTime.toFloat() }, color = color, trackColor = color.copy(alpha = 0.5f), strokeCap = StrokeCap.Round, diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsDialog.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsDialog.kt index d0db8884..d8b019a7 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsDialog.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsDialog.kt @@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Surface @@ -53,16 +54,19 @@ fun TdsDialog( Spacer(modifier = Modifier.height(24.dp)) TdsText( + modifier = Modifier.padding(horizontal = 12.dp), text = tdsDialogInfo.title, textStyle = TdsTextStyle.EXTRA_BOLD_TEXT_STYLE, fontSize = 17.sp, color = TdsColor.TEXT, + textAlign = TextAlign.Center, ) tdsDialogInfo.message?.let { message -> Spacer(modifier = Modifier.height(8.dp)) TdsText( + modifier = Modifier.padding(horizontal = 12.dp), text = message, textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 13.sp, @@ -194,7 +198,7 @@ private fun TdsAlertDialogPreview() { TdsDialog( tdsDialogInfo = TdsDialogInfo.Alert( title = "새로운 기록 설정", - message = "2023.03.10 목표시간 설정", + message = "2023.03.10 목표", cancelable = false, onDismiss = {}, confirmText = "Confirm", diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskListItem.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskListItem.kt index 0535657e..61f883d7 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskListItem.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskListItem.kt @@ -80,11 +80,8 @@ fun TdsTaskListItem( AnimatedVisibility(visible = tdsTask.isTaskTargetTimeOn) { Row(modifier = Modifier.padding(top = 4.dp)) { TdsText( - text = - stringResource( - R.string.task_set_goal_time, - tdsTask.taskTargetTime.getTimeString(), - ), + text = stringResource(R.string.tasks_popup_settasktargettime) + + " : ${tdsTask.taskTargetTime.getTimeString()}", textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.LIGHT_GRAY, @@ -94,7 +91,7 @@ fun TdsTaskListItem( TdsText( modifier = Modifier.clickable { onEdit() }, - text = stringResource(R.string.edit), + text = stringResource(R.string.common_text_edit), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 14.sp, color = themeColor, diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskResultList.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskResultList.kt index 67889f73..b9a73658 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskResultList.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTaskResultList.kt @@ -11,10 +11,12 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import com.titi.app.core.designsystem.R import com.titi.app.core.designsystem.model.TdsTaskData import com.titi.app.core.designsystem.theme.TdsColor import com.titi.app.core.designsystem.theme.TdsTextStyle @@ -73,7 +75,7 @@ fun TdsTaskResultList( .fillMaxWidth() .padding(top = 8.dp) .clickable { onClickAddTask?.invoke() }, - text = "+ 기록추가", + text = "+ " + stringResource(R.string.editdaily_button_appendnewhistory), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, color = TdsColor.TEXT, fontSize = 14.sp, diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsText.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsText.kt index 52026b48..e6877c6f 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsText.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsText.kt @@ -78,7 +78,7 @@ private fun TdsTextPreview() { TdsText( text = "ABC", color = TdsColor.TEXT, - textStyle = TdsTextStyle.BLACK_TEXT_STYLE, + textStyle = TdsTextStyle.EXTRA_BOLD_TEXT_STYLE, fontSize = 40.sp, ) } diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimeCounter.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimeCounter.kt index cbd7a1cb..fff6ced6 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimeCounter.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimeCounter.kt @@ -73,7 +73,7 @@ private fun TdsTimeCounterPreview() { seconds = 20, ), color = TdsColor.TEXT.getColor(), - textStyle = TdsTextStyle.BLACK_TEXT_STYLE, + textStyle = TdsTextStyle.EXTRA_BOLD_TEXT_STYLE, fontSize = 40.sp, ) } diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimer.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimer.kt index 17daa743..c36b88f7 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimer.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/TdsTimer.kt @@ -89,7 +89,7 @@ fun TdsTimer( modifier = Modifier .size(outCircularSize) .align(Alignment.Center), - progress = outCircularAnimateProgress.value, + progress = { outCircularAnimateProgress.value }, color = if (savedTime < 60 && recordingMode == 1) { TdsColor.RED.getColor() } else { @@ -104,7 +104,7 @@ fun TdsTimer( modifier = Modifier .size(inCircularSize) .align(Alignment.Center), - progress = inCircularAnimateProgress.value, + progress = { inCircularAnimateProgress.value }, color = inCircularLineTrackColor, trackColor = Color.Transparent, strokeWidth = inCircularTrackWidth, @@ -120,7 +120,7 @@ fun TdsTimer( Spacer(modifier = Modifier.weight(2f)) TdsText( - text = stringResource(R.string.sum_time), + text = stringResource(R.string.recording_text_sumtime), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = subTextSize.sp, color = fontColor, @@ -140,9 +140,9 @@ fun TdsTimer( TdsText( text = if (recordingMode == 1) { - stringResource(R.string.timer) + stringResource(R.string.common_button_timer) } else { - stringResource(R.string.stopwatch) + stringResource(R.string.common_button_stopwatch) }, textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = mainTextSize.sp, @@ -154,7 +154,7 @@ fun TdsTimer( if (isFinish) { TdsText( modifier = clickStopStartModifier, - text = stringResource(id = R.string.finish_text), + text = stringResource(id = R.string.timer_text_finish), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = mainTimerTextSize.sp, color = fontColor, @@ -185,9 +185,9 @@ fun TdsTimer( TdsText( text = if (isTaskTargetTimeOn) { - stringResource(id = R.string.task_time) + stringResource(id = R.string.recording_text_tasktargettime) } else { - stringResource(id = R.string.goal_time) + stringResource(id = R.string.recording_text_targettime) }, textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = subTextSize.sp, diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/AddTaskNameDialog.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/AddTaskNameDialog.kt index 57b86e38..fc2acf35 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/AddTaskNameDialog.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/AddTaskNameDialog.kt @@ -31,14 +31,14 @@ fun AddTaskNameDialog(onPositive: (String) -> Unit, onShowDialog: (Boolean) -> U TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(id = R.string.add_task_title), - message = stringResource(id = R.string.add_task_message), + title = stringResource(id = R.string.tasks_hint_newtasktitle), + message = stringResource(id = R.string.tasks_popup_newtaskdesc), cancelable = false, - positiveText = stringResource(id = R.string.Ok), + positiveText = stringResource(id = R.string.common_text_ok), onPositive = { onPositive(taskName) }, - negativeText = stringResource(id = R.string.Cancel), + negativeText = stringResource(id = R.string.common_text_cancel), ), onShowDialog = onShowDialog, ) { @@ -61,7 +61,7 @@ fun AddTaskNameDialog(onPositive: (String) -> Unit, onShowDialog: (Boolean) -> U text = taskName, placeHolder = { TdsText( - text = stringResource(id = R.string.add_task_title), + text = stringResource(id = R.string.tasks_hint_newtasktitle), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 17.sp, color = TdsColor.DIVIDER, diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/EditTaskNameDialog.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/EditTaskNameDialog.kt index 17a505c1..b6b1dfba 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/EditTaskNameDialog.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/component/dialog/EditTaskNameDialog.kt @@ -43,13 +43,13 @@ fun EditTaskNameDialog( TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(id = R.string.modify_task_title), - message = stringResource(id = R.string.add_task_message), - positiveText = stringResource(id = R.string.Ok), + title = stringResource(id = R.string.tasks_popup_edittaskname), + message = stringResource(id = R.string.tasks_popup_newtaskdesc), + positiveText = stringResource(id = R.string.common_text_ok), onPositive = { onPositive(editTaskName) }, - negativeText = stringResource(id = R.string.Cancel), + negativeText = stringResource(id = R.string.common_text_cancel), ), onShowDialog = onShowDialog, ) { diff --git a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/theme/Typography.kt b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/theme/Typography.kt index fc2e16d3..81b43ea9 100644 --- a/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/theme/Typography.kt +++ b/core/designsystem/src/main/kotlin/com/titi/app/core/designsystem/theme/Typography.kt @@ -6,82 +6,77 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.intl.Locale import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.sp import com.titi.app.core.designsystem.R val hgggothicssiProFontFamily = FontFamily( - Font(R.font.hgggothicssi_pro_00g, FontWeight.Thin), - Font(R.font.hgggothicssi_pro_20g, FontWeight.ExtraLight), Font(R.font.hgggothicssi_pro_40g, FontWeight.Normal), Font(R.font.hgggothicssi_pro_60g, FontWeight.SemiBold), Font(R.font.hgggothicssi_pro_80g, FontWeight.ExtraBold), - Font(R.font.hgggothicssi_pro_99g, FontWeight.Black), + ) +val misansFontFamily = + FontFamily( + Font(R.font.misans_normal, FontWeight.Normal), + Font(R.font.misans_medium, FontWeight.SemiBold), + Font(R.font.misans_semibold, FontWeight.ExtraBold), ) @Immutable data class TdsTypography( - val thinTextStyle: TextStyle = - TextStyle( - fontFamily = hgggothicssiProFontFamily, - fontWeight = FontWeight.Thin, - fontSize = 1.sp, - ), - val extraLightTextStyle: TextStyle = - TextStyle( - fontFamily = hgggothicssiProFontFamily, - fontWeight = FontWeight.ExtraLight, - fontSize = 1.sp, - ), val normalTextStyle: TextStyle = TextStyle( - fontFamily = hgggothicssiProFontFamily, fontWeight = FontWeight.Normal, fontSize = 1.sp, ), val semiBoldTextStyle: TextStyle = TextStyle( - fontFamily = hgggothicssiProFontFamily, fontWeight = FontWeight.SemiBold, fontSize = 1.sp, ), val extraBoldTextStyle: TextStyle = TextStyle( - fontFamily = hgggothicssiProFontFamily, fontWeight = FontWeight.ExtraBold, fontSize = 1.sp, ), - val blackTextStyle: TextStyle = - TextStyle( - fontFamily = hgggothicssiProFontFamily, - fontWeight = FontWeight.Black, - fontSize = 1.sp, - ), ) enum class TdsTextStyle { - THIN_TEXT_STYLE, - EXTRA_LIGHT_TEXT_STYLE, NORMAL_TEXT_STYLE, SEMI_BOLD_TEXT_STYLE, EXTRA_BOLD_TEXT_STYLE, - BLACK_TEXT_STYLE, ; @Composable fun getTextStyle(fontSize: TextUnit) = when (this) { - THIN_TEXT_STYLE -> TiTiTheme.textStyle.thinTextStyle.copy(fontSize = fontSize) - EXTRA_LIGHT_TEXT_STYLE -> - TiTiTheme.textStyle.extraLightTextStyle.copy( - fontSize = fontSize, - ) - NORMAL_TEXT_STYLE -> TiTiTheme.textStyle.normalTextStyle.copy(fontSize = fontSize) - SEMI_BOLD_TEXT_STYLE -> TiTiTheme.textStyle.semiBoldTextStyle.copy(fontSize = fontSize) - EXTRA_BOLD_TEXT_STYLE -> + NORMAL_TEXT_STYLE -> { + val fontFamily = if (Locale.current.language == "zh") { + misansFontFamily + } else { + hgggothicssiProFontFamily + } + TiTiTheme.textStyle.normalTextStyle.copy(fontFamily = fontFamily, fontSize = fontSize) + } + SEMI_BOLD_TEXT_STYLE -> { + val fontFamily = if (Locale.current.language == "zh") { + misansFontFamily + } else { + hgggothicssiProFontFamily + } + TiTiTheme.textStyle.semiBoldTextStyle.copy(fontFamily = fontFamily, fontSize = fontSize) + } + EXTRA_BOLD_TEXT_STYLE -> { + val fontFamily = if (Locale.current.language == "zh") { + misansFontFamily + } else { + hgggothicssiProFontFamily + } TiTiTheme.textStyle.extraBoldTextStyle.copy( + fontFamily = fontFamily, fontSize = fontSize, ) - BLACK_TEXT_STYLE -> TiTiTheme.textStyle.blackTextStyle.copy(fontSize = fontSize) + } } } diff --git a/core/designsystem/src/main/res/font/hgggothicssi_pro_00g.otf b/core/designsystem/src/main/res/font/hgggothicssi_pro_00g.otf deleted file mode 100644 index 3e517088..00000000 Binary files a/core/designsystem/src/main/res/font/hgggothicssi_pro_00g.otf and /dev/null differ diff --git a/core/designsystem/src/main/res/font/hgggothicssi_pro_20g.otf b/core/designsystem/src/main/res/font/hgggothicssi_pro_20g.otf deleted file mode 100644 index cc254a58..00000000 Binary files a/core/designsystem/src/main/res/font/hgggothicssi_pro_20g.otf and /dev/null differ diff --git a/core/designsystem/src/main/res/font/hgggothicssi_pro_99g.otf b/core/designsystem/src/main/res/font/hgggothicssi_pro_99g.otf deleted file mode 100644 index 26d422f4..00000000 Binary files a/core/designsystem/src/main/res/font/hgggothicssi_pro_99g.otf and /dev/null differ diff --git a/core/designsystem/src/main/res/font/misans_medium.ttf b/core/designsystem/src/main/res/font/misans_medium.ttf new file mode 100644 index 00000000..8a338930 Binary files /dev/null and b/core/designsystem/src/main/res/font/misans_medium.ttf differ diff --git a/core/designsystem/src/main/res/font/misans_normal.ttf b/core/designsystem/src/main/res/font/misans_normal.ttf new file mode 100644 index 00000000..fd965260 Binary files /dev/null and b/core/designsystem/src/main/res/font/misans_normal.ttf differ diff --git a/core/designsystem/src/main/res/font/misans_semibold.ttf b/core/designsystem/src/main/res/font/misans_semibold.ttf new file mode 100644 index 00000000..3d9defd3 Binary files /dev/null and b/core/designsystem/src/main/res/font/misans_semibold.ttf differ diff --git a/core/designsystem/src/main/res/values-ko-rKR/strings.xml b/core/designsystem/src/main/res/values-ko-rKR/strings.xml new file mode 100644 index 00000000..e584fdcc --- /dev/null +++ b/core/designsystem/src/main/res/values-ko-rKR/strings.xml @@ -0,0 +1,64 @@ + + + 누적 시간 + 타이머 + 총 남은시간 + Task 남은시간 + 스탑워치 + 커스텀 컬러 + 배경 + 텍스트 + 새로운 Task + 12자리 내의 새로운 Task명을 입력하세요 + Task명 수정 + 목표시간 설정 + 타이머 시간 설정 + 목표시간 수정 + %1$s의 목표시간을 수정해요! + 취소 + 확인 + 완료 + 편집 + 알람을 설정하기 위해 권한이 필요로 합니다 + 설정 하러 가시겠습니까? + 컬러 + 그래프의 컬러를 설정합니다 + 컬러 방향 + 컬러 조합의 방향을 설정합니다 + 목표 시간 + 원형 프로그래스바의 목표 시간을 설정합니다 + Month의 목표 시간을 입력해주세요 (시간 단위) + Week의 목표 시간을 입력해주세요 (시간 단위) + 모든 사진이 갤러리에 저장되었습니다. + 선택된 그래프가 없습니다. + 기록 추가 + Task를 선택하여 기록수정 후\nSAVE를 눌러주세요 + 시작 시각 + 종료 시각 + 서비스 + TiTi 기능들 + 설정 + 종료 5분전 알림 + 종료 알림 + 1시간단위 경과시 알림 + 버전 및 업데이트 내역 + 버전 정보 + 최신버전 + 업데이트 내역 + 해당 색상을 배경색으로 설정 하시겠습니까? + 변경 사항을 저장 하지 않고 나가시겠어요? + Task명을 입력해 주세요. + 종료 + 타이머가 종료되었습니다! + 5분 남았습니다. + 시간 경과되었습니다. + 사진을 저장 하기 위해서 권한이 필요로 합니다. + 허용하시겠습니까? + 갤러리에 저장이 실패하였습니다. + Task를 선택해 주세요. + Tasks를 생성해 주세요. + 종료예정 : %1$s + 알림 + 측정이 진행 중 입니다. + 기록 시작! + \ No newline at end of file diff --git a/core/designsystem/src/main/res/values-zh/strings.xml b/core/designsystem/src/main/res/values-zh/strings.xml new file mode 100644 index 00000000..34d0d39f --- /dev/null +++ b/core/designsystem/src/main/res/values-zh/strings.xml @@ -0,0 +1,64 @@ + + + 总时间 + 计时器 + 目标时间 + Task 目标时间 + 秒表 + 定制颜色 + 后台 + 文本 + 新 Task + Task名称的最大长度为 12 + 修改 Task 名称 + 设定目标时间 + 定时器时间设置 + "修改目标时间 " + %1$s 修改目标时间 + 取消 + 确认 + 结束 + 编辑 + 您需要权限来设置闹钟 + "您要去设置吗? " + 颜色 + 设置图表的颜色 + 颜色方向 + 设置颜色组合的方向 + 目标时间 + 设置圆形程序栏的目标时间 + 请输入 Month 的目标时间\\n(以小时为单位) + 请输入 Week 的目标时间\\n(以小时为单位) + 所有的照片都保存在画廊里了. + 没有选中的图表. + 新建记录 + 选择 Task 修改记录后\n请按 SAVE + 起始时刻 + 结束时刻 + 服务 + 功能 + 设置 + 结束前5分钟提醒 + 结束 + 每隔1小时提醒 + 版本和更新历史 + 版本信息 + 最新版本 + 更新细目 + "确定要设置相应的颜色作为背景色吗? " + "不保存变更事项就出去吗? " + 请输入Task名. + 结束 + "计时器已结束 ! " + 还剩5分钟. + 时间已经过去了 + 您需要一个权限来保存您的照片 . + "允许吗? " + 保存到画廊失败 + 请选择Task. + 请生成Task. + 即将结束 : %1$s + 告示 + 测量正在进行中. + 开始录制! + \ No newline at end of file diff --git a/core/designsystem/src/main/res/values/strings.xml b/core/designsystem/src/main/res/values/strings.xml index 92efa1ff..dd220315 100644 --- a/core/designsystem/src/main/res/values/strings.xml +++ b/core/designsystem/src/main/res/values/strings.xml @@ -1,51 +1,69 @@ - Timer - Stopwatch - Log - Setting + Timer + Stopwatch + Log + Setting - 누적 시간 - 타이머 - 스탑워치 - 총 남은시간 - Task 남은시간 - 목표시간 설정: %1$s - Edit - Task를 생성해주세요 - Tasks - OK - Cancel - 새로운 Task - 12자리 내의 새로운 Task명을 입력하세요 - 목표시간 설정 - Done - Task명 수정 - 커스텀컬러 - 배경 - 텍스트 - 해당 색상을 배경색으로 설정하시겠습니까? - 목표시간 수정 - %1$s의 목표시간을 수정해요! - 타이머 시간 설정 - 종료예정 : %1$s - Task와 Daily를 확인해주세요. - Daily를 생성해주세요. - Task를 선택해주세요. - 종료 - 타이머가 종료되었습니다! - 5분 남았습니다. - 시간 경과되었습니다. - 알람을 설정하기 위해 권한이 필요로 합니다. - 설정하러 가시겠습니까? - - 컬러 - 그래프의 컬러를 설정 합니다 - 컬러 방향 - 컬러 조합의 방향을 설정 합니다 - 목표 시간 - 원형 프로그래스바의 목표 시간을 설정 합니다 - - Month의 목표 시간을 입력해 주세요\n(시간 단위) - Week의 목표 시간을 입력해 주세요\n(시간 단위) + Sum Time + Timer + Target Time + Task Target Time + Stopwatch + Custom Color + Background + TextColor + New task + Task name\'s max length is 12 + Modify tasks\'s name + Setting Target Time + Setting Timer Time + Edit Target Time + %1$s Edit the target time + Cancel + Ok + Done + Edit + Permission is required to set the alarm + Do you want to go set up? + Color + Setting the color of the graph + Color direction + Setting the direction of the color combination + Target Time + Setting the target time of Circular Progress Bar + Input Month\'s Target time (Hour) + Input Week\'s Target time (Hour) + All photos have been saved in the gallery. + No graphs selected. + New History + Select a task, Edit the record\nand press the SAVE button + StartAt + EndAt + Service + TiTi Functions + Setting + 5 minutes before end + Ended + Every 1 hour passed + Version And Update history + Version Info + Latest version + Update history + Do you want to set that color as the background color? + Would you like to leave without saving your changes? + Please enter a task name. + FINISH + Timer has ended! + Five minutes left + has elapsed. + You need permission to save your photos. + Do you want to allow it? + Saving to gallery failed. + Please select Task. + Create task plz + Finish Time : %1$s + Notification + Measurement is in progress. + Start Recording! \ No newline at end of file diff --git a/feature/color/src/main/kotlin/com/titi/app/feature/color/ui/ColorScreen.kt b/feature/color/src/main/kotlin/com/titi/app/feature/color/ui/ColorScreen.kt index a5228f5c..59bf73aa 100644 --- a/feature/color/src/main/kotlin/com/titi/app/feature/color/ui/ColorScreen.kt +++ b/feature/color/src/main/kotlin/com/titi/app/feature/color/ui/ColorScreen.kt @@ -24,7 +24,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.res.stringResource @@ -65,9 +64,9 @@ fun ColorScreen( if (showDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(R.string.setting_background_text), + title = stringResource(R.string.colorselector_popup_backgroundtitle), cancelable = false, - positiveText = stringResource(id = R.string.Ok), + positiveText = stringResource(id = R.string.common_text_ok), onPositive = { viewModel.updateColor( recordingMode = recordingMode, @@ -75,16 +74,16 @@ fun ColorScreen( ) onFinish() }, - negativeText = stringResource(id = R.string.Cancel), + negativeText = stringResource(id = R.string.common_text_cancel), ), onShowDialog = { showDialog = it }, ) { Box( modifier = Modifier .size(40.dp) - .clip(RoundedCornerShape(6.dp)) - .background(Color(selectedColor)) - .border(2.dp, Color.LightGray), + .border(2.dp, Color.LightGray, RoundedCornerShape(6.dp)) + .padding(2.dp) + .background(Color(selectedColor)), ) } } @@ -180,8 +179,8 @@ private fun ColorScreen( AlphaTile( modifier = Modifier .size(80.dp) - .clip(RoundedCornerShape(6.dp)) - .border(2.dp, Color.LightGray), + .border(2.dp, Color.LightGray, RoundedCornerShape(6.dp)) + .padding(2.dp), controller = controller, ) @@ -231,8 +230,8 @@ private fun ColorPresetContent( Box( modifier = Modifier .size(35.dp) - .clip(RoundedCornerShape(6.dp)) - .border(2.dp, Color.LightGray) + .border(2.dp, Color.LightGray, RoundedCornerShape(6.dp)) + .padding(2.dp) .background(Color.White), ) { colors.getOrNull(index)?.let { @@ -265,7 +264,7 @@ private fun ColorButtons( onClick = { onClickCancel() }, ) { TdsText( - text = stringResource(id = R.string.Cancel), + text = stringResource(id = R.string.common_text_cancel), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 16.sp, color = TdsColor.RED, @@ -281,7 +280,7 @@ private fun ColorButtons( onClick = { onClickConfirm() }, ) { TdsText( - text = stringResource(id = R.string.Ok), + text = stringResource(id = R.string.common_text_ok), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 16.sp, color = color.complementary(), diff --git a/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditScreen.kt b/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditScreen.kt index 6e2c9545..1634d3f9 100644 --- a/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditScreen.kt +++ b/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditScreen.kt @@ -84,9 +84,9 @@ fun EditScreen(currentDate: String, onBack: () -> Unit) { if (showBackDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = "변경 사항을 저장하지 않고 나가시겠어요?", - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + title = stringResource(R.string.edit_popup_nosavetitle), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { onBack() }, @@ -243,7 +243,7 @@ private fun EditScreen(uiState: EditUiState, onEditActions: (EditActions) -> Uni contentAlignment = Alignment.Center, ) { TdsText( - text = "과목을 선택하여 기록수정 후\nSAVE를 눌러 주세요.", + text = stringResource(R.string.editdaily_text_infohowtoeditdaily), color = TdsColor.TEXT, textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 17.sp, @@ -374,7 +374,7 @@ private fun EditTaskContent( shape = RoundedCornerShape(4.dp), ) .padding(4.dp), - text = taskName.ifEmpty { "과목명을 입력해 주세요." }, + text = taskName.ifEmpty { stringResource(R.string.edit_text_notaskname) }, textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 17.sp, color = TdsColor.TEXT, @@ -473,7 +473,9 @@ private fun EditTaskContent( Spacer(modifier = Modifier.width(4.dp)) TdsText( - text = "기록추가", + text = stringResource( + R.string.editdaily_button_appendnewhistory, + ), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, color = TdsColor.TEXT, fontSize = 14.sp, @@ -501,7 +503,7 @@ private fun EditTaskContent( onEditActions(EditActions.Updates.Done) } }, - text = "OK", + text = stringResource(R.string.common_text_ok), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, textAlign = TextAlign.Center, color = TdsColor.TEXT, @@ -580,7 +582,9 @@ private fun TaskRowContent( modifier = Modifier .size(18.dp) .clickable { onEditTaskHistory(taskHistory) }, - painter = painterResource(R.drawable.edit_circle_icon), + painter = painterResource( + R.drawable.edit_circle_icon, + ), contentDescription = "", tint = TdsColor.TEXT.getColor(), ) diff --git a/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditTaskHistoryTimeDialog.kt b/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditTaskHistoryTimeDialog.kt index 1e11de1f..0a87f71c 100644 --- a/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditTaskHistoryTimeDialog.kt +++ b/feature/edit/src/main/kotlin/com/titi/app/feature/edit/ui/EditTaskHistoryTimeDialog.kt @@ -60,7 +60,7 @@ fun EditTaskHistoryTimeDialog( tdsDialogInfo = TdsDialogInfo.Confirm( title = (Duration.between(startLocalDateTime, endLocalDateTime).toMillis() / 1000) .getTimeString(), - positiveText = stringResource(R.string.Ok), + positiveText = stringResource(R.string.common_text_ok), onPositive = { if (endLocalDateTime > startLocalDateTime) { onPositive( @@ -71,7 +71,7 @@ fun EditTaskHistoryTimeDialog( ) } }, - negativeText = stringResource(R.string.Cancel), + negativeText = stringResource(R.string.common_text_cancel), ), onShowDialog = onShowDialog, ) { @@ -82,7 +82,7 @@ fun EditTaskHistoryTimeDialog( .padding(horizontal = 16.dp), ) { TdsText( - text = "시작 시간", + text = stringResource(R.string.editdaily_text_startat), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, color = TdsColor.TEXT, fontSize = 14.sp, @@ -91,7 +91,7 @@ fun EditTaskHistoryTimeDialog( Spacer(modifier = Modifier.weight(1f)) TdsText( - text = "종료 시간", + text = stringResource(R.string.editdaily_text_endat), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, color = TdsColor.TEXT, fontSize = 14.sp, diff --git a/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/DailyScreen.kt b/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/DailyScreen.kt index 0c75c50a..90640456 100644 --- a/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/DailyScreen.kt +++ b/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/DailyScreen.kt @@ -81,10 +81,10 @@ fun DailyScreen( if (showPermissionDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = "사진을 저장하기 위해서 권한이 필요로 합니다.", - message = "허용하시겠습니까?", - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + title = stringResource(R.string.daily_popup_savepermissiontitle), + message = stringResource(R.string.daily_popup_savepermissiondesc), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { requestWritePermissionLauncher.launch( Manifest.permission.WRITE_EXTERNAL_STORAGE, @@ -120,6 +120,7 @@ fun DailyScreen( Spacer(modifier = Modifier.height(15.dp)) + val failMessage = stringResource(R.string.save_toast_nograph) ButtonRow( modifier = Modifier.fillMaxWidth(), isCreate = dailyUiState.isCreate, @@ -133,7 +134,7 @@ fun DailyScreen( permissionLauncher = requestWritePermissionLauncher, ) } else { - Toast.makeText(context, "선택된 그래프가 없습니다.", Toast.LENGTH_SHORT).show() + Toast.makeText(context, failMessage, Toast.LENGTH_SHORT).show() } }, onShareClick = { @@ -144,7 +145,7 @@ fun DailyScreen( checkedButtonStates = dailyUiState.checkedButtonStates, ) } else { - Toast.makeText(context, "선택된 그래프가 없습니다.", Toast.LENGTH_SHORT).show() + Toast.makeText(context, failMessage, Toast.LENGTH_SHORT).show() } }, onCreateEditClick = onNavigateToEdit, diff --git a/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/WeekScreen.kt b/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/WeekScreen.kt index 8d98987d..8e0a38d2 100644 --- a/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/WeekScreen.kt +++ b/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/WeekScreen.kt @@ -80,10 +80,10 @@ fun WeekScreen( if (showPermissionDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = "사진을 저장하기 위해서 권한이 필요로 합니다.", - message = "허용하시겠습니까?", - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + title = stringResource(R.string.daily_popup_savepermissiontitle), + message = stringResource(R.string.daily_popup_savepermissiondesc), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { requestWritePermissionLauncher.launch( Manifest.permission.WRITE_EXTERNAL_STORAGE, diff --git a/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/component/SettingBottomSheet.kt b/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/component/SettingBottomSheet.kt index e9e78e37..dfe918cd 100644 --- a/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/component/SettingBottomSheet.kt +++ b/feature/log/src/main/kotlin/com/titi/app/feature/log/ui/component/SettingBottomSheet.kt @@ -80,17 +80,17 @@ fun SettingBottomSheet( if (showMonthGoalTimeDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(id = R.string.log_setting_goal_time_title), - message = stringResource(id = R.string.month_goal_time_dialog_message), + title = stringResource(id = R.string.common_text_targettime), + message = stringResource(id = R.string.common_popup_setmonthtargettime), cancelable = false, - positiveText = stringResource(id = R.string.Ok), + positiveText = stringResource(id = R.string.common_text_ok), onPositive = { viewModel.updateGraphGoalTime( monthGoalTime = goalTime.toIntOrNull(), graphGoalTime = graphGoalTime, ) }, - negativeText = stringResource(id = R.string.Cancel), + negativeText = stringResource(id = R.string.common_text_cancel), ), onShowDialog = { showMonthGoalTimeDialog = it @@ -144,17 +144,17 @@ fun SettingBottomSheet( if (showWeekGoalTimeDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(id = R.string.log_setting_goal_time_title), - message = stringResource(id = R.string.week_goal_time_dialog_message), + title = stringResource(id = R.string.common_text_targettime), + message = stringResource(id = R.string.common_popup_setweektargettime), cancelable = false, - positiveText = stringResource(id = R.string.Ok), + positiveText = stringResource(id = R.string.common_text_ok), onPositive = { viewModel.updateGraphGoalTime( weekGoalTime = goalTime.toIntOrNull(), graphGoalTime = graphGoalTime, ) }, - negativeText = stringResource(id = R.string.Cancel), + negativeText = stringResource(id = R.string.common_text_cancel), ), onShowDialog = { showWeekGoalTimeDialog = it @@ -279,7 +279,7 @@ private fun SettingBottomSheetContent( .padding(vertical = 10.dp), ) { TdsText( - text = stringResource(id = R.string.log_setting_color_title), + text = stringResource(id = R.string.colorselector_text_color), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 16.sp, color = TdsColor.TEXT, @@ -288,7 +288,7 @@ private fun SettingBottomSheetContent( Spacer(modifier = Modifier.height(4.dp)) TdsText( - text = stringResource(id = R.string.log_setting_color_message), + text = stringResource(id = R.string.colorselector_text_setgraphcolor), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.LIGHT_GRAY, @@ -308,7 +308,7 @@ private fun SettingBottomSheetContent( .padding(vertical = 10.dp), ) { TdsText( - text = stringResource(id = R.string.log_setting_color_direction_title), + text = stringResource(id = R.string.colorselector_text_colordirectiontitle), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 16.sp, color = TdsColor.TEXT, @@ -317,7 +317,7 @@ private fun SettingBottomSheetContent( Spacer(modifier = Modifier.height(4.dp)) TdsText( - text = stringResource(id = R.string.log_setting_color_direction_message), + text = stringResource(id = R.string.colorselector_text_colordirectiondesc), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.LIGHT_GRAY, @@ -373,7 +373,7 @@ private fun SettingBottomSheetContent( .padding(vertical = 10.dp), ) { TdsText( - text = stringResource(id = R.string.log_setting_goal_time_title), + text = stringResource(id = R.string.common_text_targettime), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 16.sp, color = TdsColor.TEXT, @@ -382,7 +382,7 @@ private fun SettingBottomSheetContent( Spacer(modifier = Modifier.height(4.dp)) TdsText( - text = stringResource(id = R.string.log_setting_goal_time_message), + text = stringResource(id = R.string.logsetting_text_dailytargettimedesc), textStyle = TdsTextStyle.NORMAL_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.LIGHT_GRAY, diff --git a/feature/log/src/main/kotlin/com/titi/app/feature/log/util/GraphUtil.kt b/feature/log/src/main/kotlin/com/titi/app/feature/log/util/GraphUtil.kt index 0bfc68e5..6759599e 100644 --- a/feature/log/src/main/kotlin/com/titi/app/feature/log/util/GraphUtil.kt +++ b/feature/log/src/main/kotlin/com/titi/app/feature/log/util/GraphUtil.kt @@ -9,6 +9,7 @@ import android.os.Build import android.widget.Toast import androidx.activity.compose.ManagedActivityResultLauncher import androidx.core.content.ContextCompat +import com.titi.app.core.designsystem.R import com.titi.app.core.designsystem.util.saveBitmapFromComposable import com.titi.app.core.designsystem.util.shareBitmap import com.titi.app.core.designsystem.util.shareBitmapFromComposable @@ -91,9 +92,9 @@ fun saveDailyGraph( pictureList: List, checkedButtonStates: List, ): String { - var message = "모든 사진이 갤러리에 저장되었습니다." + var message = context.getString(R.string.save_toast_donemessage) val coroutineExceptionHandler = CoroutineExceptionHandler { _, _ -> - message = "갤러리에 저장이 실패하였습니다." + message = context.getString(R.string.save_taost_failmessage) } coroutineScope.launch(Dispatchers.Default + coroutineExceptionHandler) { checkedButtonStates.forEachIndexed { index, isChecked -> @@ -107,9 +108,9 @@ fun saveDailyGraph( } fun saveWeekGraph(context: Context, coroutineScope: CoroutineScope, picture: Picture): String { - var message = "모든 사진이 갤러리에 저장되었습니다." + var message = context.getString(R.string.save_toast_donemessage) val coroutineExceptionHandler = CoroutineExceptionHandler { _, _ -> - message = "갤러리에 저장이 실패하였습니다." + message = context.getString(R.string.save_taost_failmessage) } coroutineScope.launch(Dispatchers.Default + coroutineExceptionHandler) { diff --git a/feature/main/src/main/kotlin/com/titi/app/feature/main/navigation/TiTiApp.kt b/feature/main/src/main/kotlin/com/titi/app/feature/main/navigation/TiTiApp.kt index edfdce47..291b3d9b 100644 --- a/feature/main/src/main/kotlin/com/titi/app/feature/main/navigation/TiTiApp.kt +++ b/feature/main/src/main/kotlin/com/titi/app/feature/main/navigation/TiTiApp.kt @@ -19,6 +19,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.airbnb.lottie.compose.LottieAnimation import com.airbnb.lottie.compose.LottieCompositionSpec @@ -57,6 +58,10 @@ fun TiTiApp(splashResultState: SplashResultState) { } Box(modifier = Modifier.fillMaxSize()) { + val snackbarMessage = stringResource( + com.titi.app.core.designsystem.R.string.toast_text_startrecording, + ) + TiTiNavHost( modifier = Modifier.fillMaxSize(), splashResultState = splashResultState, @@ -78,7 +83,7 @@ fun TiTiApp(splashResultState: SplashResultState) { ) }, emphasizedMessage = date, - message = "기록 시작!", + message = snackbarMessage, targetDpFromTop = 40.dp * multiple, ) } diff --git a/feature/measure/src/main/kotlin/com/titi/app/feature/measure/ui/MeasuringScreen.kt b/feature/measure/src/main/kotlin/com/titi/app/feature/measure/ui/MeasuringScreen.kt index d9b88d97..b9b5ceb8 100644 --- a/feature/measure/src/main/kotlin/com/titi/app/feature/measure/ui/MeasuringScreen.kt +++ b/feature/measure/src/main/kotlin/com/titi/app/feature/measure/ui/MeasuringScreen.kt @@ -84,14 +84,14 @@ fun MeasuringScreen(splashResultState: String, onFinish: (isFinish: Boolean) -> val (alarmTitle, alarmFinishMessage, alarmFiveMinutesBeforeFinish) = if (splashResultStateModel.recordTimes.recordingMode == 1) { Triple( - stringResource(id = R.string.timer), - stringResource(id = R.string.timer_finish_alarm_message), - stringResource(id = R.string.timer_five_minutes_before_finish_alarm_message), + stringResource(id = R.string.common_button_timer), + stringResource(id = R.string.alarm_text_timerfinish), + stringResource(id = R.string.alarm_text_5minutes), ) } else { Triple( - stringResource(id = R.string.stopwatch), - stringResource(id = R.string.stopwatch_alarm_message), + stringResource(id = R.string.common_button_stopwatch), + stringResource(id = R.string.alarm_text_message), null, ) } @@ -174,10 +174,10 @@ fun MeasuringScreen(splashResultState: String, onFinish: (isFinish: Boolean) -> if (showSetExactAlarmPermissionDialog) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(id = R.string.alarm_permission_title), - message = stringResource(id = R.string.alarm_permission_message), - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + title = stringResource(id = R.string.measure_popup_permissiontitle), + message = stringResource(id = R.string.measure_popup_permissiondesc), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { val intent = Intent( @@ -335,7 +335,7 @@ private fun MeasuringScreen( private fun makeInProgressNotification(context: Context) { val title = "TiTi" - val message = "측정이 진행 중입니다." + val message = context.getString(R.string.measure_text_measuring) val channelId = "InProgressId" val deepLink = "titi://" diff --git a/feature/setting/src/main/kotlin/com/titi/app/feature/setting/ui/SettingScreen.kt b/feature/setting/src/main/kotlin/com/titi/app/feature/setting/ui/SettingScreen.kt index cc7936ea..ba5d22bf 100644 --- a/feature/setting/src/main/kotlin/com/titi/app/feature/setting/ui/SettingScreen.kt +++ b/feature/setting/src/main/kotlin/com/titi/app/feature/setting/ui/SettingScreen.kt @@ -36,6 +36,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewLightDark import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -195,7 +196,7 @@ private fun SettingScreen( private fun SettingServiceSection(onSettingActions: (SettingActions) -> Unit) { TdsText( modifier = Modifier.padding(start = 16.dp), - text = "서비스", + text = stringResource(R.string.settings_text_servicesection), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.TEXT, @@ -204,7 +205,7 @@ private fun SettingServiceSection(onSettingActions: (SettingActions) -> Unit) { Spacer(modifier = Modifier.height(4.dp)) ListContent( - title = "TiTi 기능들", + title = stringResource(R.string.settings_button_functions), rightAreaContent = { Icon( painter = painterResource(id = R.drawable.arrow_right_icon), @@ -225,7 +226,7 @@ private fun SettingNotificationSection( ) { TdsText( modifier = Modifier.padding(start = 16.dp), - text = "알림", + text = stringResource(R.string.setting_text_notification), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.TEXT, @@ -234,8 +235,8 @@ private fun SettingNotificationSection( Spacer(modifier = Modifier.height(4.dp)) ListContent( - title = "타이머", - description = "종료 5분전 알림", + title = stringResource(R.string.common_button_timer), + description = stringResource(R.string.switchsetting_button_5minnotidesc), rightAreaContent = { Switch( checked = switchState.timerFiveMinutesBeforeTheEnd, @@ -256,8 +257,8 @@ private fun SettingNotificationSection( Spacer(modifier = Modifier.height(1.dp)) ListContent( - title = "타이머", - description = "종료 알림", + title = stringResource(R.string.common_button_timer), + description = stringResource(R.string.switchsetting_button_endnotidesc), rightAreaContent = { Switch( checked = switchState.timerBeforeTheEnd, @@ -277,8 +278,8 @@ private fun SettingNotificationSection( Spacer(modifier = Modifier.height(1.dp)) ListContent( - title = "스톱워치", - description = "1시간단위 경과시 알림", + title = stringResource(R.string.common_button_stopwatch), + description = stringResource(R.string.switchsetting_button_1hourpassnotidesc), rightAreaContent = { Switch( checked = switchState.stopwatch, @@ -303,7 +304,7 @@ private fun SettingVersionSection( ) { TdsText( modifier = Modifier.padding(start = 16.dp), - text = "버전 및 업데이트 내역", + text = stringResource(R.string.settings_text_versionsection), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.TEXT, @@ -312,8 +313,9 @@ private fun SettingVersionSection( Spacer(modifier = Modifier.height(4.dp)) ListContent( - title = "버전 정보", - description = "최신버전: ${versionState.newVersion}", + title = stringResource(R.string.settings_button_versioninfotitle), + description = stringResource(R.string.settings_text_versioninfodesc) + + " : ${versionState.newVersion}", rightAreaContent = { TdsText( text = versionState.currentVersion, @@ -338,7 +340,7 @@ private fun SettingVersionSection( Spacer(modifier = Modifier.height(1.dp)) ListContent( - title = "업데이트 내역", + title = stringResource(R.string.settings_button_updatehistory), rightAreaContent = { Row(verticalAlignment = Alignment.CenterVertically) { Icon( diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/ColorSelectComponent.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/ColorSelectComponent.kt index 2b264f1c..838ddeeb 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/ColorSelectComponent.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/ColorSelectComponent.kt @@ -54,7 +54,7 @@ fun ColorSelectComponent( Row { Column(horizontalAlignment = Alignment.CenterHorizontally) { TdsText( - text = stringResource(R.string.background), + text = stringResource(R.string.recordingcolorselector_text_backgroundcolor), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.TEXT, @@ -63,8 +63,7 @@ fun ColorSelectComponent( Spacer(modifier = Modifier.height(8.dp)) Box( - modifier = - Modifier + modifier = Modifier .size(32.dp) .clip(RoundedCornerShape(4.dp)) .background(color = backgroundColor) @@ -104,7 +103,7 @@ fun ColorSelectComponent( ) { balloonWindow -> Column(horizontalAlignment = Alignment.CenterHorizontally) { TdsText( - text = stringResource(R.string.text), + text = stringResource(R.string.recordingcolorselector_text_textcolor), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 14.sp, color = TdsColor.TEXT, diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeCheckTaskDialog.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeCheckTaskDialog.kt index 88fd5bd0..691733ca 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeCheckTaskDialog.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeCheckTaskDialog.kt @@ -14,8 +14,8 @@ import com.titi.app.core.designsystem.model.TdsDialogInfo fun TimeCheckTaskDialog(onShowDialog: (Boolean) -> Unit) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Alert( - title = stringResource(id = R.string.task_check_title), - confirmText = stringResource(id = R.string.Ok), + title = stringResource(id = R.string.task_popup_checktitle), + confirmText = stringResource(id = R.string.common_text_ok), ), onShowDialog = onShowDialog, ) { diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeColorDialog.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeColorDialog.kt index 475fe06f..97a4fd0e 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeColorDialog.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeColorDialog.kt @@ -22,9 +22,9 @@ fun TimeColorDialog( ) { TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(id = R.string.custom_color), - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + title = stringResource(id = R.string.recordingcolorselector_text_customcolor), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { onShowDialog(false) }, diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeGoalTimeEditDialog.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeGoalTimeEditDialog.kt index 28734f50..ec8e3b25 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeGoalTimeEditDialog.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeGoalTimeEditDialog.kt @@ -29,10 +29,10 @@ fun TimeGoalTimeEditDialog( TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(R.string.edit_daily_title), - message = stringResource(R.string.edit_daily_message, todayDate), - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + title = stringResource(R.string.modify_text_targettime), + message = stringResource(R.string.modify_text_targettimedesc, todayDate), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { onPositive(getTimeToLong(hour, minutes, seconds)) }, diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTaskComponent.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTaskComponent.kt index da22b2b6..21910c15 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTaskComponent.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTaskComponent.kt @@ -29,7 +29,7 @@ fun TimeTaskComponent( contentPadding = PaddingValues(horizontal = 25.dp, vertical = 10.dp), ) { TdsText( - text = stringResource(R.string.create_task_text), + text = stringResource(R.string.tasks_text_createtask), textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 18.sp, color = TdsColor.RED, diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTimerDialog.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTimerDialog.kt index 2eb2f4e4..328e976f 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTimerDialog.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/component/TimeTimerDialog.kt @@ -26,13 +26,13 @@ fun TimeTimerDialog(onPositive: (Long) -> Unit, onShowDialog: (Boolean) -> Unit) TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( - title = stringResource(R.string.set_timer_time_title), + title = stringResource(R.string.timer_text_settimertimetitle), message = stringResource( - R.string.set_timer_time_message, + R.string.timer_popup_finishtime, addTimeToNow(setTimerTime), ), - positiveText = stringResource(id = R.string.Ok), - negativeText = stringResource(id = R.string.Cancel), + positiveText = stringResource(id = R.string.common_text_ok), + negativeText = stringResource(id = R.string.common_text_cancel), onPositive = { onPositive(setTimerTime) }, diff --git a/feature/time/src/main/kotlin/com/titi/app/feature/time/ui/task/TaskBottomSheet.kt b/feature/time/src/main/kotlin/com/titi/app/feature/time/ui/task/TaskBottomSheet.kt index 418b4076..316013d3 100644 --- a/feature/time/src/main/kotlin/com/titi/app/feature/time/ui/task/TaskBottomSheet.kt +++ b/feature/time/src/main/kotlin/com/titi/app/feature/time/ui/task/TaskBottomSheet.kt @@ -169,15 +169,15 @@ fun TaskBottomSheet( TdsDialog( tdsDialogInfo = TdsDialogInfo.Confirm( title = editTask.taskName, - message = stringResource(id = R.string.edit_task_target_time), - positiveText = stringResource(id = R.string.Ok), + message = stringResource(id = R.string.tasks_popup_settasktargettime), + positiveText = stringResource(id = R.string.common_text_ok), onPositive = { val targetTime = getTimeToLong(hour, minutes, seconds) if (targetTime > 0) { onClickTargetTimeEditButton(editTask.copy(taskTargetTime = targetTime)) } }, - negativeText = stringResource(id = R.string.Cancel), + negativeText = stringResource(id = R.string.common_text_cancel), ), onShowDialog = { showTaskTargetTimeDialog = it @@ -216,9 +216,9 @@ fun TaskBottomSheet( TdsTextButton( modifier = Modifier.align(Alignment.CenterStart), text = if (editMode) { - stringResource(id = R.string.done) + stringResource(id = R.string.common_text_done) } else { - stringResource(id = R.string.edit) + stringResource(id = R.string.common_text_edit) }, textColor = themeColor, fontSize = 18.sp, @@ -227,7 +227,7 @@ fun TaskBottomSheet( TdsText( modifier = Modifier.align(Alignment.Center), - text = stringResource(id = R.string.tasks), + text = "Tasks", textStyle = TdsTextStyle.SEMI_BOLD_TEXT_STYLE, fontSize = 20.sp, color = TdsColor.TEXT, diff --git a/release-note.txt b/release-note.txt index a01fea2c..a8424e19 100644 --- a/release-note.txt +++ b/release-note.txt @@ -1,4 +1,2 @@ -TiTi android dev 1.2.1(35) -- Setting Screen Ver.2 #138 -- Refactor Log Data #142 -- Fix measuring finish bug #164 \ No newline at end of file +TiTi android dev 1.3.0 +- TLR #84 \ No newline at end of file diff --git a/tds/src/main/kotlin/com/titi/app/tds/theme/Typography.kt b/tds/src/main/kotlin/com/titi/app/tds/theme/Typography.kt index 9b8a6c83..b743572c 100644 --- a/tds/src/main/kotlin/com/titi/app/tds/theme/Typography.kt +++ b/tds/src/main/kotlin/com/titi/app/tds/theme/Typography.kt @@ -10,31 +10,14 @@ import com.titi.app.tds.R val pretendardFontFamily = FontFamily( - Font(R.font.pretendard_thin, FontWeight.Thin), - Font(R.font.pretendard_extra_light, FontWeight.ExtraLight), - Font(R.font.pretendard_light, FontWeight.Light), Font(R.font.pretendard_regular, FontWeight.Normal), Font(R.font.pretendard_medium, FontWeight.Medium), Font(R.font.pretendard_semi_bold, FontWeight.SemiBold), Font(R.font.pretendard_bold, FontWeight.Bold), - Font(R.font.pretendard_extra_bold, FontWeight.ExtraBold), - Font(R.font.pretendard_black, FontWeight.Black), ) @Immutable data class TtdsTypography( - val thinTextStyle: TextStyle = TextStyle( - fontFamily = pretendardFontFamily, - fontWeight = FontWeight.Thin, - ), - val extraLightTextStyle: TextStyle = TextStyle( - fontFamily = pretendardFontFamily, - fontWeight = FontWeight.ExtraLight, - ), - val lightTextStyle: TextStyle = TextStyle( - fontFamily = pretendardFontFamily, - fontWeight = FontWeight.Light, - ), val normalTextStyle: TextStyle = TextStyle( fontFamily = pretendardFontFamily, fontWeight = FontWeight.Normal, @@ -51,38 +34,20 @@ data class TtdsTypography( fontFamily = pretendardFontFamily, fontWeight = FontWeight.Bold, ), - val extraBoldTextStyle: TextStyle = TextStyle( - fontFamily = pretendardFontFamily, - fontWeight = FontWeight.ExtraBold, - ), - val blackTextStyle: TextStyle = TextStyle( - fontFamily = pretendardFontFamily, - fontWeight = FontWeight.Black, - ), ) enum class TtdsTextStyle { - THIN_TEXT_STYLE, - EXTRA_LIGHT_TEXT_STYLE, - LIGHT_TEXT_STYLE, NORMAL_TEXT_STYLE, MEDIUM_TEXT_STYLE, SEMI_BOLD_TEXT_STYLE, BOLD_TEXT_STYLE, - EXTRA_BOLD_TEXT_STYLE, - BLACK_TEXT_STYLE, ; @Composable fun getTextStyle() = when (this) { - THIN_TEXT_STYLE -> TtdsTheme.textStyle.thinTextStyle - EXTRA_LIGHT_TEXT_STYLE -> TtdsTheme.textStyle.extraLightTextStyle - LIGHT_TEXT_STYLE -> TtdsTheme.textStyle.lightTextStyle NORMAL_TEXT_STYLE -> TtdsTheme.textStyle.normalTextStyle MEDIUM_TEXT_STYLE -> TtdsTheme.textStyle.mediumTextStyle SEMI_BOLD_TEXT_STYLE -> TtdsTheme.textStyle.semiBoldTextStyle BOLD_TEXT_STYLE -> TtdsTheme.textStyle.boldTextStyle - EXTRA_BOLD_TEXT_STYLE -> TtdsTheme.textStyle.extraBoldTextStyle - BLACK_TEXT_STYLE -> TtdsTheme.textStyle.blackTextStyle } } diff --git a/tds/src/main/res/font/pretendard_black.otf b/tds/src/main/res/font/pretendard_black.otf deleted file mode 100644 index a0d849e7..00000000 Binary files a/tds/src/main/res/font/pretendard_black.otf and /dev/null differ diff --git a/tds/src/main/res/font/pretendard_extra_bold.otf b/tds/src/main/res/font/pretendard_extra_bold.otf deleted file mode 100644 index 388f3ca4..00000000 Binary files a/tds/src/main/res/font/pretendard_extra_bold.otf and /dev/null differ diff --git a/tds/src/main/res/font/pretendard_extra_light.otf b/tds/src/main/res/font/pretendard_extra_light.otf deleted file mode 100644 index 40c8b69c..00000000 Binary files a/tds/src/main/res/font/pretendard_extra_light.otf and /dev/null differ diff --git a/tds/src/main/res/font/pretendard_light.otf b/tds/src/main/res/font/pretendard_light.otf deleted file mode 100644 index 228679e9..00000000 Binary files a/tds/src/main/res/font/pretendard_light.otf and /dev/null differ diff --git a/tds/src/main/res/font/pretendard_thin.otf b/tds/src/main/res/font/pretendard_thin.otf deleted file mode 100644 index 77e792d7..00000000 Binary files a/tds/src/main/res/font/pretendard_thin.otf and /dev/null differ