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