feat: 다국어 지원 및 다중 통화 환율 변환 기능 확대

- ExchangeRateService에 JPY, CNY 환율 지원 추가
- 구독 서비스별 다국어 표시 이름 지원
- 분석 화면 차트 및 UI/UX 개선
- 설정 화면 전면 리팩토링
- SMS 스캔 기능 사용성 개선
- 전체 앱 다국어 번역 확대

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
JiWoong Sul
2025-07-16 17:34:32 +09:00
parent 4d1c0f5dab
commit 0f0b02bf08
55 changed files with 4100 additions and 1197 deletions

View File

@@ -8,6 +8,7 @@ import '../widgets/main_summary_card.dart';
import '../widgets/subscription_list_widget.dart';
import '../widgets/empty_state_widget.dart';
import '../theme/app_colors.dart';
import '../l10n/app_localizations.dart';
class HomeContent extends StatelessWidget {
final AnimationController fadeController;
@@ -55,6 +56,7 @@ class HomeContent extends StatelessWidget {
final categorizedSubscriptions = SubscriptionCategoryHelper.categorizeSubscriptions(
provider.subscriptions,
categoryProvider,
context,
);
return RefreshIndicator(
@@ -103,7 +105,7 @@ class HomeContent extends StatelessWidget {
).animate(CurvedAnimation(
parent: slideController, curve: Curves.easeOutCubic)),
child: Text(
'나의 구독 서비스',
AppLocalizations.of(context).mySubscriptions,
style: Theme.of(context).textTheme.titleLarge?.copyWith(
color: AppColors.darkNavy,
),
@@ -118,7 +120,7 @@ class HomeContent extends StatelessWidget {
child: Row(
children: [
Text(
'${provider.subscriptions.length}',
AppLocalizations.of(context).subscriptionCount(provider.subscriptions.length),
style: const TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,