mirror of
https://github.com/jkcoxson/LocalDevVPN.git
synced 2026-03-02 14:36:16 +01:00
Add Korean localization (#2)
* Add Korean localization * Add Korean localization
This commit is contained in:
@@ -200,6 +200,7 @@
|
|||||||
es,
|
es,
|
||||||
it,
|
it,
|
||||||
pl,
|
pl,
|
||||||
|
ko,
|
||||||
);
|
);
|
||||||
mainGroup = 4EB3C74F2D96631A00C1B22C;
|
mainGroup = 4EB3C74F2D96631A00C1B22C;
|
||||||
minimizedProjectReferenceProxies = 1;
|
minimizedProjectReferenceProxies = 1;
|
||||||
|
|||||||
@@ -991,6 +991,7 @@ struct SettingsView: View {
|
|||||||
Text("spanish").tag("es")
|
Text("spanish").tag("es")
|
||||||
Text("italian").tag("it")
|
Text("italian").tag("it")
|
||||||
Text("polish").tag("pl")
|
Text("polish").tag("pl")
|
||||||
|
Text("korean").tag("ko")
|
||||||
}
|
}
|
||||||
.onChange(of: selectedLanguage) { newValue in
|
.onChange(of: selectedLanguage) { newValue in
|
||||||
let languageCode = newValue
|
let languageCode = newValue
|
||||||
@@ -1396,7 +1397,7 @@ struct SetupPageView: View {
|
|||||||
class LanguageManager: ObservableObject {
|
class LanguageManager: ObservableObject {
|
||||||
static let shared = LanguageManager()
|
static let shared = LanguageManager()
|
||||||
@Published var currentLanguage: String = Locale.current.languageCode ?? "en"
|
@Published var currentLanguage: String = Locale.current.languageCode ?? "en"
|
||||||
private let supportedLanguages = ["en", "es", "it", "pl"]
|
private let supportedLanguages = ["en", "es", "it", "pl", "ko"]
|
||||||
|
|
||||||
func updateLanguage(to languageCode: String) {
|
func updateLanguage(to languageCode: String) {
|
||||||
if supportedLanguages.contains(languageCode) {
|
if supportedLanguages.contains(languageCode) {
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"spanish" = "Spanish";
|
"spanish" = "Spanish";
|
||||||
"italian" = "Italian";
|
"italian" = "Italian";
|
||||||
"polish" = "Polish";
|
"polish" = "Polish";
|
||||||
|
"korean" = "Korean";
|
||||||
|
|
||||||
/* MARK: Settings */
|
/* MARK: Settings */
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"spanish" = "Español";
|
"spanish" = "Español";
|
||||||
"italian" = "Italiano";
|
"italian" = "Italiano";
|
||||||
"polish" = "Polaco";
|
"polish" = "Polaco";
|
||||||
|
"korean" = "Coreano";
|
||||||
|
|
||||||
/* MARK: Configuración */
|
/* MARK: Configuración */
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"spanish" = "Spagnolo";
|
"spanish" = "Spagnolo";
|
||||||
"italian" = "Italiano";
|
"italian" = "Italiano";
|
||||||
"polish" = "Polacco";
|
"polish" = "Polacco";
|
||||||
|
"korean" = "Coreano";
|
||||||
|
|
||||||
/* MARK: Settings*/
|
/* MARK: Settings*/
|
||||||
|
|
||||||
|
|||||||
132
LocalDevVPN/Localization/ko.lproj/Localizable.strings
Normal file
132
LocalDevVPN/Localization/ko.lproj/Localizable.strings
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
/* MARK: Start Screen */
|
||||||
|
|
||||||
|
"disconnected" = "연결 끊김";
|
||||||
|
"connecting" = "연결중";
|
||||||
|
"connected" = "연결됨";
|
||||||
|
"disconnecting" = "연결 해제 중";
|
||||||
|
"error" = "오류";
|
||||||
|
|
||||||
|
"local_tunnel_active" = "로컬 터널 활성화됨";
|
||||||
|
"local_tunnel_inactive" = "로컬 터널 비활성화됨";
|
||||||
|
|
||||||
|
"connect" = "연결";
|
||||||
|
"disconnect" = "연결 끊기";
|
||||||
|
"connecting_ellipsis" = "연결중...";
|
||||||
|
"disconnecting_ellipsis" = "연결 해제 중...";
|
||||||
|
"server_address_name" = "LocalDevVPN 로컬 터널";
|
||||||
|
|
||||||
|
"local_tunnel_details" = "터널 정보";
|
||||||
|
"time_connected" = "연결 지속 시간";
|
||||||
|
"status" = "상태";
|
||||||
|
"active" = "활성화됨";
|
||||||
|
"network_interface" = "네트워크 인터페이스";
|
||||||
|
"local" = "로컬";
|
||||||
|
"assigned_ip" = "햘당된 IP";
|
||||||
|
|
||||||
|
/* MARK: Locales */
|
||||||
|
"english" = "영어";
|
||||||
|
"spanish" = "스페인어";
|
||||||
|
"italian" = "이탈리아어";
|
||||||
|
"polish" = "폴란드어";
|
||||||
|
"korean" = "한국어";
|
||||||
|
|
||||||
|
/* MARK: Settings */
|
||||||
|
|
||||||
|
"connection_settings" = "연결 설정";
|
||||||
|
"auto_connect_on_launch" = "실행 시 자동 연결";
|
||||||
|
"connection_logs" = "연결 로그";
|
||||||
|
"network_configuration" = "네트워크 구성";
|
||||||
|
"device_ip" = "기기 IP";
|
||||||
|
"tunnel_ip" = "터널 IP";
|
||||||
|
"subnet_mask" = "서브넷 마스크";
|
||||||
|
"app_information" = "앱 정보";
|
||||||
|
"privacy_policy" = "개인정보 처리방침";
|
||||||
|
"data_collection_policy" = "데이터 수집 정책";
|
||||||
|
"app_version" = "앱 버전";
|
||||||
|
"help_and_support" = "도움말";
|
||||||
|
"language" = "언어 설정";
|
||||||
|
"dropdown_language" = "언어";
|
||||||
|
"settings" = "설정";
|
||||||
|
"done" = "완료";
|
||||||
|
"warning_alert" = "주의";
|
||||||
|
"warning_message" = "터널 IP 설정을 변경하면 네트워크 연결이 중단될 수 있습니다. 확실히 알고 있는 경우에만 진행하십시오.";
|
||||||
|
"understand_button" = "이해했습니다.";
|
||||||
|
|
||||||
|
"data_collection_policy_title" = "데이터 수집 정책";
|
||||||
|
"no_data_collection" = "데이터 수집 없음";
|
||||||
|
"no_data_collection_description" = "LocalDevVPN은 사용자 데이터, 트래픽 정보 또는 브라우징 활동을 수집하지 않습니다. 이 앱은 완전히 사용자의 기기 내에서만 유지되는 로컬 네트워크 터널을 생성해요.";
|
||||||
|
"local_processing_only" = "로컬에서만 처리";
|
||||||
|
"local_processing_only_description" = "모든 네트워크 트래픽과 구성은 사용자의 기기에서 로컬로 처리돼요. 어떠한 정보도 기기를 벗어나거나 인터넷을 통해 전송되지 않습니다.";
|
||||||
|
"no_third_party_sharing" = "제3자와 공유하지 않음";
|
||||||
|
"no_third_party_sharing_description" = "데이터를 수집하지 않으므로 제3자와의 공유는 없습니다. 본 앱에는 분석, 추적 또는 데이터 수집 메커니즘이 없습니다.";
|
||||||
|
"why_use_network_permissions" = "네트워크 권한을 사용하는 이유는 무엇인가요?";
|
||||||
|
"why_use_network_permissions_description" = "LocalDevVPN은 기기에 로컬 네트워크 인터페이스를 생성하기 위해 네트워크 확장 권한이 필요합니다. 이는 오직 로컬 개발 및 테스트 목적으로만 사용됩니다.";
|
||||||
|
"our_promise" = "저희의 약속";
|
||||||
|
"our_promise_description" = "우리는 개인정보 보호와 투명성을 중요하게 생각합니다. 이 앱은 개발자가 로컬 서버에 연결하고 테스트할 수 있도록 설계되었으며, 개인정보 관련 위험이 없습니다.";
|
||||||
|
"data_collection_policy_nav" = "데이터 수집 정책";
|
||||||
|
"logs_nav" = "로그";
|
||||||
|
"faq_header" = "자주 묻는 질문";
|
||||||
|
"faq_q1" = "이 앱은 어떤 기능을 하나요?";
|
||||||
|
"faq_q1_a1" = "LocalDevVPN은 개발 및 테스트를 위해 로컬 네트워크 인터페이스를 생성합니다. 외부 서버로 트래픽이 전달되지 않으며, 모든 데이터는 기기 안에 머무릅니다.";
|
||||||
|
"faq_common_use_cases" = "주요 사용 사례:";
|
||||||
|
"faq_case1" = "• 로컬 서버 기반 웹 앱 테스트";
|
||||||
|
"faq_case2" = "• 네트워크 기능 개발 및 디버깅";
|
||||||
|
"faq_case3" = "• 로컬 개발 환경 접근";
|
||||||
|
"faq_case4" = "• 특정 네트워크 구성이 필요한 앱 테스트";
|
||||||
|
"faq_q2" = "전통적인 VPN인가요?";
|
||||||
|
"faq_q2_a1" = "아니요, LocalDevVPN은 일반적인 VPN 서비스가 아닙니다. 다음과 같은 기능을 제공하지 않습니다:";
|
||||||
|
"faq_q2_point1" = "• 외부 서버를 통한 트래픽 라우팅";
|
||||||
|
"faq_q2_point2" = "• 인터넷 사용 시 개인정보 보호 또는 익명성 제공";
|
||||||
|
"faq_q2_point3" = "• 원격 VPN 서버 연결";
|
||||||
|
"faq_q2_point4" = "• 인터넷 트래픽 암호화 또는 라우팅";
|
||||||
|
"faq_q2_a2" = "LocalDevVPN은 개발 및 테스트를 위해 로컬 네트워크 인터페이스만 생성합니다.";
|
||||||
|
"faq_q3" = "연결이 실패하는 이유는 무엇인가요?";
|
||||||
|
"faq_q3_a1" = "연결 실패는 시스템 권한 문제, 잘못된 설정, 또는 iOS 제한 사항으로 인해 발생할 수 있습니다.";
|
||||||
|
"faq_troubleshoot_header" = "문제 해결 단계:";
|
||||||
|
"faq_troubleshoot1" = "• 네트워크 확장(Network Extension) 권한을 승인했는지 확인하세요";
|
||||||
|
"faq_troubleshoot2" = "• 앱을 다시 실행해보세요";
|
||||||
|
"faq_troubleshoot3" = "• IP 설정이 유효한지 확인하세요";
|
||||||
|
"faq_troubleshoot4" = "• 문제가 계속되면 기기를 재부팅하세요";
|
||||||
|
"faq_q4" = "이 앱은 누구를 위한 것인가요?";
|
||||||
|
"faq_q4_intro" = "LocalDevVPN은 주로 다음과 같은 사용자를 위해 설계되었습니다:";
|
||||||
|
"faq_q4_case1" = "• 로컬 웹 서버를 테스트하는 개발자";
|
||||||
|
"faq_q4_case2" = "• 네트워크 기능을 테스트하는 앱 개발자";
|
||||||
|
"faq_q4_case3" = "• 격리된 환경에서 앱을 테스트하는 QA 엔지니어";
|
||||||
|
"faq_q4_case4" = "• iOS에서 로컬 서비스에 접근해야 하는 사용자";
|
||||||
|
"faq_q4_conclusion" = "이 앱은 공개적으로 제공되며, 네트워크 기능이 필요한 개발자에게 특히 유용합니다.";
|
||||||
|
"business_model_header" = "비즈니스 모델";
|
||||||
|
"biz_q1" = "LocalDevVPN은 어떻게 작동하나요?";
|
||||||
|
"biz_q1_a1" = "LocalDevVPN은 완전히 무료로 제공되는 앱입니다. 유료 기능, 구독, 인앱 결제는 없습니다.";
|
||||||
|
"biz_key_points_header" = "모델 주요 특징:";
|
||||||
|
"biz_point1" = "• 특정 기업이나 단체에 속하지 않습니다";
|
||||||
|
"biz_point2" = "• 누구나 App Store에서 다운로드하여 사용할 수 있습니다";
|
||||||
|
"biz_point3" = "• 계정 생성이 필요하지 않습니다";
|
||||||
|
"biz_point4" = "• 모든 기능을 무료로 제공합니다";
|
||||||
|
"biz_point5" = "• iOS 커뮤니티를 위한 공개 유틸리티로 개발·유지됩니다";
|
||||||
|
"app_info_header" = "앱 정보";
|
||||||
|
"requires_ios" = "iOS 14.0 이상 필요";
|
||||||
|
"uses_network_extension" = "Apple Network Extension API 사용";
|
||||||
|
"help_and_support_nav" = "도움말 & 지원";
|
||||||
|
"setup_welcome_title" = "LocalDevVPN에 오신 것을 환영합니다";
|
||||||
|
"setup_welcome_description" = "개발자를 위한 간단한 로컬 네트워크 터널";
|
||||||
|
"setup_welcome_details" = "LocalDevVPN은 개발, 테스트, 그리고 로컬 서버 접근을 위해 로컬 네트워크 인터페이스를 생성합니다. 이 앱은 사용자 데이터를 수집하지 않으며 외부 서버로 트래픽을 전송하지 않습니다.";
|
||||||
|
"setup_why_title" = "왜 LocalDevVPN을 사용하나요?";
|
||||||
|
"setup_why_description" = "iOS 개발자에게 최적";
|
||||||
|
"setup_why_details" = "• 로컬 웹 서버 및 개발 환경 접근\n• 네트워크 구성이 필요한 앱 테스트\n• 복잡한 설정 없이 로컬 서비스 접속\n• 격리된 테스트 환경 구축";
|
||||||
|
"setup_easy_title" = "간편한 사용";
|
||||||
|
"setup_easy_description" = "원탭으로 연결";
|
||||||
|
"setup_easy_details" = "LocalDevVPN은 간단하게 설계되었습니다. 연결 버튼을 탭하면 미리 구성된 로컬 터널이 즉시 활성화됩니다.";
|
||||||
|
"setup_privacy_title" = "프라이버시 중심";
|
||||||
|
"setup_privacy_description" = "데이터는 기기 내부에만 보관됩니다";
|
||||||
|
"setup_privacy_details" = "LocalDevVPN은 외부 서버로 트래픽을 전달하지 않는 로컬 터널을 생성합니다. 모든 트래픽은 기기 안에 머물며, 개인정보 보호 및 보안을 보장합니다. 어떤 데이터도 수집하거나 제3자와 공유하지 않습니다.";
|
||||||
|
"setup_nav" = "설정";
|
||||||
|
"setup_get_started" = "시작하기";
|
||||||
|
"setup_next" = "다음";
|
||||||
|
"setup_skip" = "건너뛰기";
|
||||||
|
|
||||||
|
|
||||||
|
/*MARK: Restart pop-up*/
|
||||||
|
restart_title = "재시작";
|
||||||
|
restart_message = "변경사항을 적용할려면 앱을 재시작해야 합니다.";
|
||||||
|
confirmYes = "네";
|
||||||
|
confirmNo = "아니요";
|
||||||
@@ -29,6 +29,7 @@
|
|||||||
"spanish" = "Hiszpański";
|
"spanish" = "Hiszpański";
|
||||||
"italian" = "Włoski";
|
"italian" = "Włoski";
|
||||||
"polish" = "Polski";
|
"polish" = "Polski";
|
||||||
|
"korean" = "koreański";
|
||||||
|
|
||||||
/* MARK: Settings */
|
/* MARK: Settings */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user