Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions values-hi/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="network_unavailable_txt">उम्म… कृपया इंटरनेट कनेक्टिविटी की दोबारा जाँच करें!</string>
<string name="network_timeout_txt">अनुरोध समय समाप्त हो गया है। कृपया बाद में पुनः प्रयास करें।</string>
<string name="gps_disabled_error_txt">लोकेशन सेवाएं बंद हैं। अपने स्थानीय मौसम की जानकारी प्राप्त करने के लिए GPS सक्षम करें।</string>
<string name="enable_gps_btn_txt">GPS सक्षम करें</string>
<string name="profile_title">प्रोफ़ाइल</string>
<string name="logout_btn_txt">लॉग आउट</string>
<string name="logout_confirmation_txt">क्या आप वास्तव में लॉग आउट करना चाहते हैं?</string>
<string name="logout_warning_txt">अपने खाते तक पहुँचने के लिए आपको फिर से लॉग इन करना होगा।</string>
<string name="confirm_btn_txt">पुष्टि करें</string>
<string name="cancel_btn_txt">रद्द करें</string>
<string name="premium_get_txt">प्रीमियम प्राप्त करें</string>
<string name="premium_processing_txt">प्रोसेसिंग हो रही है...</string>
<string name="premium_processing_desc_txt">कृपया प्रतीक्षा करें जब तक हम आपकी प्रीमियम सदस्यता को सक्रिय कर रहे हैं।</string>
<string name="premium_unlock_desc_txt">सभी सुविधाओं को अनलॉक करें और विज्ञापन-मुक्त अनुभव का आनंद लें।</string>
<string name="premium_upgrade_btn_txt">अभी अपग्रेड करें</string>
<string name="premium_active_txt">आप एक प्रीमियम उपयोगकर्ता हैं</string>
<string name="premium_expires_txt">%1$s को समाप्त होगा</string>
<string name="premium_active_status_txt">सक्रिय</string>
<string name="premium_activated_title_txt">प्रीमियम सक्रिय हो गया</string>
<string name="premium_activated_msg_txt">आपकी प्रीमियम सदस्यता अब सक्रिय है!</string>
<string name="settings_notifications_txt">सूचनाएं</string>
<string name="settings_language_txt">भाषा</string>
<string name="legal_privacy_policy_txt">गोपनीयता नीति</string>
<string name="legal_terms_of_use_txt">उपयोग की शर्तें</string>
<string name="legal_app_version_txt">ऐप संस्करण</string>
<string name="settings_section_title">सेटिंग्स</string>
<string name="legal_section_title">कानूनी</string>
<string name="back_button_content">वापस जाएं बटन</string>
<string name="notification_icon_content">नोटिफिकेशन सेटिंग्स आइकन</string>
<string name="privacy_icon_content">गोपनीयता नीति आइकन</string>
<string name="terms_icon_content">उपयोग की शर्तें आइकन</string>
<string name="info_icon_content">जानकारी आइकन</string>
<string name="arrow_right_icon_content">अगली स्क्रीन पर जाएं</string>
<string name="locale_config_error_txt">भाषा कॉन्फ़िगरेशन लोड करने में विफल। डिफ़ॉल्ट भाषा का उपयोग किया जा रहा है।</string>
<string name="notification_permission_title">अपडेट रहें</string>
<string name="notification_permission_message">मौसम संबंधी अलर्ट के लिए नोटिफिकेशन सक्षम करें</string>
<string name="enable_notification_btn">सक्षम करें</string>
<string name="language_lib_screen_header">भाषा चुनें</string>
<string name="language_back_content_description">वापस जाएं</string>
<string name="language_screen_title">अपनी भाषा चुनें</string>
<string name="language_screen_subtitle">व्यक्तिगत अनुभव के लिए अपनी पसंदीदा भाषा चुनें</string>
<string name="language_selected">%s चुना गया</string>
<string name="language_navigate_back">वापस नेविगेट करें</string>
<string name="saved_locations_screen">सहेजे गए स्थान</string>
<string name="saved_locations_title">सहेजे गए स्थान</string>
<string name="saved_locations_empty_txt">अभी तक कोई स्थान सहेजा नहीं गया है। जोड़ने के लिए + पर टैप करें।</string>
<string name="saved_locations_add_btn">स्थान जोड़ें</string>
<string name="saved_locations_delete_btn">हटाएं</string>
<string name="saved_locations_save_btn">सहेजें</string>
<string name="saved_locations_name_hint">स्थान का नाम (उदाहरण: घर)</string>
<string name="saved_locations_premium_title">प्रीमियम सुविधा</string>
<string name="saved_locations_premium_desc">अपने पसंदीदा स्थानों को सहेजें और तुरंत एक्सेस करें। इस सुविधा को अनलॉक करने के लिए प्रीमियम में अपग्रेड करें।</string>
<string name="saved_locations_error_txt">सहेजे गए स्थान लोड करने में विफल।</string>
<string name="saved_locations_save_success">स्थान सफलतापूर्वक सहेजा गया।</string>
<string name="saved_locations_delete_success">स्थान हटा दिया गया।</string>
<string name="saved_locations_icon_content">सहेजे गए स्थान</string>
<string name="add_icon_content">नया स्थान जोड़ें</string>
<string name="delete_icon_content">स्थान हटाएं</string>
<string name="set_as_default_dialog_title">मौसम स्थान के रूप में उपयोग करें?</string>
<string name="set_as_default_dialog_body">मौसम डेटा आपके वर्तमान GPS स्थान के बजाय %1$s के लिए दिखाया जाएगा।</string>
<string name="set_as_default_dialog_warning">इसके सक्रिय रहने के दौरान आपका लाइव GPS स्थान अपडेट नहीं होगा।</string>
<string name="set_as_default_confirm_btn">डिफ़ॉल्ट के रूप में सेट करें</string>
<string name="location_override_chip_label">%1$s का उपयोग कर रहे हैं</string>
<string name="location_override_reset_btn">GPS पर रीसेट करें</string>
<string name="location_override_chip_content_desc">वर्तमान में %1$s के लिए मौसम दिखा रहा है। GPS पर रीसेट करने के लिए टैप करें।</string>
<string name="place_search_dialog_title">किसी स्थान के लिए खोजें</string>
<string name="place_search_hint">शहर या पता टाइप करें...</string>
<string name="place_search_no_results">'%1$s' के लिए कोई स्थान नहीं मिला</string>
<string name="general_error_txt">ओह!..कुछ गलत हो गया।</string>
<string name="empty_city_list_error_txt">ओह नहीं! इस समय कोई शहर नहीं मिला। बाद में फिर देखें</string>
<string name="empty_list">कोई विवरण नहीं मिला। कुछ समय बाद प्रयास करें।</string>
</resources>
68 changes: 68 additions & 0 deletions values-ko/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="network_timeout_txt">요청 시간이 초과되었습니다. 나중에 다시 시도해 주세요.</string>
<string name="gps_disabled_error_txt">위치 서비스가 꺼져 있습니다. 현지 날씨 정보를 확인하려면 GPS를 활성화해 주세요.</string>
<string name="enable_gps_btn_txt">GPS 활성화</string>
<string name="profile_title">프로필</string>
<string name="logout_btn_txt">로그아웃</string>
<string name="logout_confirmation_txt">정말 로그아웃하시겠습니까?</string>
<string name="logout_warning_txt">계정에 액세스하려면 다시 로그인해야 합니다.</string>
<string name="cancel_btn_txt">취소</string>
<string name="premium_get_txt">프리미엄 구매</string>
<string name="premium_processing_txt">처리 중…</string>
<string name="premium_processing_desc_txt">프리미엄 구독을 활성화하는 동안 잠시만 기다려 주세요.</string>
<string name="premium_unlock_desc_txt">모든 기능을 잠금 해제하고 광고 없는 경험을 즐기세요.</string>
<string name="premium_upgrade_btn_txt">지금 업그레이드</string>
<string name="premium_active_txt">프리미엄 사용자입니다</string>
<string name="premium_expires_txt">만료일 %1$s</string>
<string name="premium_active_status_txt">활성</string>
<string name="premium_activated_title_txt">프리미엄 활성화됨</string>
<string name="premium_activated_msg_txt">프리미엄 구독이 활성화되었습니다!</string>
<string name="legal_privacy_policy_txt">개인정보 처리방침</string>
<string name="legal_terms_of_use_txt">이용약관</string>
<string name="legal_app_version_txt">앱 버전</string>
<string name="settings_section_title">설정</string>
<string name="legal_section_title">법률</string>
<string name="back_button_content">뒤로 가기 버튼</string>
<string name="notification_icon_content">알림 설정 아이콘</string>
<string name="privacy_icon_content">개인정보 처리방침 아이콘</string>
<string name="terms_icon_content">이용약관 아이콘</string>
<string name="info_icon_content">정보 아이콘</string>
<string name="arrow_right_icon_content">다음 화면으로 이동</string>
<string name="locale_config_error_txt">언어 구성을 불러오지 못했습니다. 기본 언어를 사용합니다.</string>
<string name="notification_permission_title">최신 정보 받기</string>
<string name="notification_permission_message">날씨 알림을 받으려면 알림을 활성화하세요</string>
<string name="enable_notification_btn">활성화</string>
<string name="language_lib_screen_header">언어 선택</string>
<string name="language_back_content_description">뒤로 가기</string>
<string name="language_screen_subtitle">개인화된 경험을 위해 선호하는 언어를 선택하세요</string>
<string name="language_selected">%s 선택됨</string>
<string name="language_navigate_back">뒤로 이동</string>
<string name="saved_locations_screen">저장된 위치</string>
<string name="saved_locations_title">저장된 위치</string>
<string name="saved_locations_empty_txt">아직 저장된 위치가 없습니다. +를 눌러 추가하세요.</string>
<string name="saved_locations_add_btn">위치 추가</string>
<string name="saved_locations_delete_btn">삭제</string>
<string name="saved_locations_save_btn">저장</string>
<string name="saved_locations_name_hint">위치 이름 (예: 집)</string>
<string name="saved_locations_premium_title">프리미엄 기능</string>
<string name="saved_locations_premium_desc">즐겨찾는 위치를 저장하고 즉시 확인하세요. 프리미엄으로 업그레이드하여 이 기능을 잠금 해제하세요.</string>
<string name="saved_locations_error_txt">저장된 위치를 불러오지 못했습니다.</string>
<string name="saved_locations_save_success">위치가 성공적으로 저장되었습니다.</string>
<string name="saved_locations_delete_success">위치가 삭제되었습니다.</string>
<string name="saved_locations_icon_content">저장된 위치</string>
<string name="add_icon_content">새 위치 추가</string>
<string name="delete_icon_content">위치 삭제</string>
<string name="set_as_default_dialog_title">날씨 위치로 사용하시겠습니까?</string>
<string name="set_as_default_dialog_body">현재 GPS 위치 대신 %1$s의 날씨 데이터가 표시됩니다.</string>
<string name="set_as_default_dialog_warning">이 기능이 활성화되어 있는 동안에는 실시간 GPS 위치가 업데이트되지 않습니다.</string>
<string name="set_as_default_confirm_btn">기본값으로 설정</string>
<string name="location_override_chip_label">%1$s 사용 중</string>
<string name="location_override_reset_btn">GPS로 재설정</string>
<string name="location_override_chip_content_desc">현재 %1$s의 날씨가 표시되고 있습니다. GPS로 재설정하려면 탭하세요.</string>
<string name="place_search_hint">도시 또는 주소 입력…</string>
<string name="place_search_no_results">'%1$s'에 대한 검색 결과가 없습니다.</string>
<string name="general_error_txt">죄송합니다. 문제가 발생했습니다.</string>
<string name="empty_city_list_error_txt">오류가 발생했습니다! 현재 찾을 수 있는 도시가 없습니다. 나중에 다시 확인해 주세요.</string>
<string name="empty_list">세부 정보를 찾을 수 없습니다. 잠시 후 다시 시도하세요.</string>
</resources>
Comment on lines +1 to +68

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check which string keys exist in Hindi but are missing in Korean

echo "=== Keys in Hindi but missing in Korean ==="
rg 'name="([^"]+)"' -o -r '$1' values-hi/strings.xml | sort > /tmp/hi_keys.txt
rg 'name="([^"]+)"' -o -r '$1' values-ko/strings.xml | sort > /tmp/ko_keys.txt
comm -23 /tmp/hi_keys.txt /tmp/ko_keys.txt

echo ""
echo "=== Total counts ==="
echo "Hindi entries: $(wc -l < /tmp/hi_keys.txt)"
echo "Korean entries: $(wc -l < /tmp/ko_keys.txt)"

Repository: bosankus/Compose-Weatherify

Length of output: 311


🏁 Script executed:

# Check if any of the missing keys are referenced in the application code
echo "=== Searching for references to missing keys in application code ==="
for key in confirm_btn_txt language_screen_title network_unavailable_txt place_search_dialog_title settings_language_txt settings_notifications_txt; do
  count=$(rg "stringResource.*$key|R\.string\.$key" --count --count-matches 2>/dev/null | head -1)
  if [ -n "$count" ] && [ "$count" -gt 0 ]; then
    echo "Key '$key' found: $count references"
    rg "stringResource.*$key|R\.string\.$key" -A 2 -B 2 | head -10
  else
    echo "Key '$key': not found in code"
  fi
done

Repository: bosankus/Compose-Weatherify

Length of output: 1267


🏁 Script executed:

# Check if Portuguese and Thai files have these missing keys
echo "=== Checking Portuguese translation ==="
rg 'name="(confirm_btn_txt|language_screen_title|network_unavailable_txt|place_search_dialog_title|settings_language_txt|settings_notifications_txt)"' values-pt/ 2>/dev/null | wc -l

echo "=== Checking Thai translation ==="
rg 'name="(confirm_btn_txt|language_screen_title|network_unavailable_txt|place_search_dialog_title|settings_language_txt|settings_notifications_txt)"' values-th/ 2>/dev/null | wc -l

echo "=== List of all translation files available ==="
fd -t d "values-" --max-depth 1

Repository: bosankus/Compose-Weatherify

Length of output: 245


🏁 Script executed:

# Determine which of the 6 missing keys Thai HAS
echo "=== Thai file entries for the 6 keys ==="
rg 'name="(confirm_btn_txt|language_screen_title|network_unavailable_txt|place_search_dialog_title|settings_language_txt|settings_notifications_txt)"' values-th/strings.xml

echo ""
echo "=== Complete count comparison across all languages ==="
for dir in values-hi values-ko values-pt-rBR values-th; do
  if [ -d "$dir" ]; then
    count=$(rg 'name="([^"]+)"' -o -r '$1' "$dir/strings.xml" 2>/dev/null | wc -l)
    echo "$dir: $count entries"
  fi
done

echo ""
echo "=== Keys in Korean vs Hindi (show first 10 differences) ==="
rg 'name="([^"]+)"' -o -r '$1' values-hi/strings.xml | sort > /tmp/hi.txt
rg 'name="([^"]+)"' -o -r '$1' values-ko/strings.xml | sort > /tmp/ko.txt
comm -23 /tmp/hi.txt /tmp/ko.txt | head -10

Repository: bosankus/Compose-Weatherify

Length of output: 765


🏁 Script executed:

# Check if any of these keys are actually used anywhere (broader search)
echo "=== Searching entire codebase for these keys ==="
for key in confirm_btn_txt language_screen_title network_unavailable_txt place_search_dialog_title settings_language_txt settings_notifications_txt; do
  echo "--- Searching for: $key ---"
  rg "$key" --type kotlin --type java 2>/dev/null | head -5
done

Repository: bosankus/Compose-Weatherify

Length of output: 2141


Missing 6 string resource keys in Korean translation will cause runtime crashes.

The Korean translation file is missing 6 string keys that are actively used in the application code:

  1. confirm_btn_txt — Used in SettingsScreenStrings.kt and AppNavigation.kt
  2. language_screen_title — Used in LanguageScreenStrings.kt
  3. network_unavailable_txt — Used in UiText.kt for error handling (NetworkException)
  4. place_search_dialog_title — Used in AppNavigation.kt and SavedLocationsScreenStrings.kt
  5. settings_language_txt — Used in SettingsScreenStrings.kt and AppNavigation.kt
  6. settings_notifications_txt — Used in SettingsScreenStrings.kt and AppNavigation.kt

These keys exist in Hindi (71 entries) and Thai (70 entries, missing only network_unavailable_txt), but Korean has only 65 entries. When the application calls stringResource(R.string.confirm_btn_txt) for a Korean locale user, it will throw MissingResourceException at runtime, crashing the settings screen and other dependent features.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@values-ko/strings.xml` around lines 1 - 68, The values-ko/strings.xml file is
missing 6 string resource definitions that are actively referenced in the
application code, which will cause MissingResourceException crashes at runtime
for Korean locale users. Add the missing string resources with appropriate
Korean translations for: confirm_btn_txt, language_screen_title,
network_unavailable_txt, place_search_dialog_title, settings_language_txt, and
settings_notifications_txt. Reference the Hindi or Thai translation files as
examples to match the formatting and ensure the Korean translations are accurate
and contextually appropriate for the application features these strings support.

Loading
Loading