This guide explains how to configure your Xcode project to use the English and Korean localizations that have been implemented.
Location: SharingOnlyProject/Utilities/LocalizedString.swift
- Type-safe localization helper with organized categories
- Provides easy access to localized strings throughout the app
- Includes helper functions for formatted strings (e.g., counts, dynamic text)
- Korean:
SharingOnlyProject/Resources/ko.lproj/Localizable.strings - English:
SharingOnlyProject/Resources/en.lproj/Localizable.strings
- Open your project in Xcode
- In the Project Navigator, right-click on the
SharingOnlyProjectfolder - Select Add Files to "SharingOnlyProject"...
- Navigate to and select the
Resourcesfolder - Make sure "Copy items if needed" is UNCHECKED (files are already in the right location)
- Make sure "Create groups" is selected
- Click Add
- Right-click on the
Utilitiesfolder in Project Navigator - Select Add Files to "SharingOnlyProject"...
- Navigate to and select
LocalizedString.swift - Make sure it's added to your app target
- Click Add
- Select your project (SharingOnlyProject) in the Project Navigator
- Select the project (not the target) in the main editor
- Go to the Info tab
- In the Localizations section, you should see:
- English (Development Language) - if not, click + and add it
- Click + to add Korean (ko)
- When prompted, select the
Localizable.stringsfile to localize - Click Finish
- In Project Navigator, expand the
Resourcesfolder - You should see:
ko.lprojfolder containingLocalizable.stringsen.lprojfolder containingLocalizable.strings
- Click on each
Localizable.stringsfile - In the File Inspector (right panel), verify:
- Under Localization, both Korean and English should be checked
- Under Target Membership, your app target should be checked
- Build your project (⌘B)
- If there are any compile errors, make sure:
LocalizedString.swiftis included in your target- All localization files are properly referenced
- Test the localization:
- Run the app on a simulator or device
- The app should display in Korean by default
- Change device language to English (Settings → General → Language & Region)
- Relaunch the app - it should now display in English
- Open Settings app
- Go to General → Language & Region
- Tap iPhone Language
- Select English or 한국어
- Tap Done and confirm
- Relaunch your app
- Select your scheme (Product → Scheme → Edit Scheme)
- Go to Run → Options tab
- Under App Language, select:
- Korean or
- English
- Run the app
The following components now support both English and Korean:
- ✅
SharingView.swift- Main sharing interface - ✅
RecipientSetupView.swift- Recipient management - ✅
DirectionalDragView.swift- Photo distribution interface - ✅
TemporaryAlbumPreview.swift- Album preview and sharing
- ✅
ShareModels.swift- Direction names and enums
- General: Common buttons and actions (Back, Next, Cancel, etc.)
- Sharing Steps: All 4 sharing steps with titles and subtitles
- Directions: All 8 directional names (Top, Bottom, Left, Right, etc.)
- Photo View: Photo-related messages and states
- Recipients: Recipient setup and management strings
- Photo Distribution: Distribution interface strings
- Album: Album preview and sharing strings
- Buttons: All button labels
- Status: Status messages and indicators
- Alerts: All alert dialogs
- Accessibility: Accessibility labels and hints
- Empty States: Empty state messages
Text(LocalizedString.General.next)
// Korean: "다음"
// English: "Next"Text(recipient.direction.displayName)
// Korean: "위", "아래", "왼쪽", etc.
// English: "Top", "Bottom", "Left", etc.Text(LocalizedString.recipientCount(3))
// Korean: "3명"
// English: "3 people"
Text(LocalizedString.photoCount(15))
// Korean: "15장의 사진"
// English: "15 photos"Text(String(format: NSLocalizedString("recipient_remove_message", comment: ""), recipient.name))
// Korean: "친구을(를) 제거하시겠습니까?\n해당 임시 앨범의 사진도 함께 삭제됩니다."
// English: "Remove 친구?\nPhotos in their temporary album will also be deleted."enum MyCategory {
static let myNewString = "my_new_string_key".localized
}Korean (ko.lproj/Localizable.strings):
"my_new_string_key" = "한국어 텍스트";
English (en.lproj/Localizable.strings):
"my_new_string_key" = "English Text";
Text(LocalizedString.MyCategory.myNewString)- Clean build folder: Product → Clean Build Folder (⇧⌘K)
- Delete derived data: Xcode → Preferences → Locations → Derived Data → Delete
- Rebuild the project
- Verify device/simulator language settings
- Check that
Localizable.stringsfiles are in the correct.lprojfolders - Verify files are included in the app target (File Inspector → Target Membership)
- Ensure
LocalizedString.swiftis added to your project - Verify it's included in your app target
- Check that all enum cases are properly defined
Your app now fully supports both English and Korean localizations:
- 🌍 2 languages: English (en) and Korean (ko)
- 📱 100+ localized strings across all major UI components
- 🎯 Type-safe: Using enums for compile-time safety
- 🔧 Maintainable: Centralized localization management
- ♿ Accessible: Including accessibility labels and hints
The app will automatically display in the user's device language (if English or Korean), with Korean as the default fallback.