응용 프로그램 사용 자 인터페이스 지역 화 - Xamarin | Microsoft Docs 
 이 가이드 에서 는 국제 화 및 지역 화 의 개념 을 소개 하 고 이러 한 개념 을 사용 하 여 Xamarin 모바일 응용 프로그램 을 생 성 하 는 방법 에 대 한 지침 을 제공 합니다 . This guide introduces the concepts behind internationalization and localization and links to instructions on how to produce Xamarin mobile applications using those concepts . 
 Xamarin 앱 지역 화 에 대 한 기술 세부 정보 를 바로 건너뛰 려면 다음 플랫 폼 별 방법 문서 중 하나 를 사용 하 여 시작 합니다 . If you want to skip straight to the technical details of localizing Xamarin apps , start with one of these platform - specific how - to articles : 
 RESX 파일 을 사용 하 여 Xamarin Forms 플랫 폼 간 지역 화 . Xamarin . Forms cross - platform localization using RESX files . 
 Xamarin . ios 네이티브 플랫폼 지역 화 . Xamarin . iOS native platform localization . 
 Xamarin Android native platform 지역 화 . Xamarin . Android native platform localization . 
 i 18 n 및 L 10 ni 18 n and L 10 n 
 국제 화 는 코드 에서 다양 한 언어 를 표시 하 고 다양 한 로 캘 ( 예 : 숫자 및 날짜 형식 지정 ) 에 대 한 디스플레이 를 조정 할 수 있 도록 하 는 프로세스 입니다 . Internationalization is the process of making your code capable of displaying different languages and adapting its display for different locales ( such as number and date formatting ) . 이 를 세계 화 라고 도 합니다 . This is also referred to as globalization . 
 지역 화 는 각 언어 에 대 한 리소스 ( 예 : 문자열 및 이미지 ) 를 만들 고 internationalize 앱 을 사용 하 여 번들 하 는 단계 입니다 . Localization is the step that follows – creating resources ( such as strings and images ) for each language and bundling them with the internationalize app . 
 국제 화 는 " i " 와 " n " 사이 의 18 자 로 된 i 18 n - 줄임 으로 단축 됩니다 . Internationalization it is often shortened to i 18 n – shorthand for 18 letters between " i " and " n ". 지역 화 는 " L " 과 " n " 사이 의 10 개 문자 에 대 한 L 10 n 비슷 하 게 짧아집니다 . Localization is similarly shortened to L 10 n – for 10 letters between " L " and " n ". 
 이 문서 에서 는 국제 화 및 지역 화 와 관련 된 개념 과 일반 적 으로 모바일 응용 프로그램 개발 에 적용 하 는 방법 에 대해 소개 합니다 . This document introduces the concepts associated with internationalization and localization , and how they apply to mobile application development in general . 응용 프로그램 을 디자인 하 고 빌 드 할 때 이전 에 는 하드 코딩 했 지만 지역 화 를 위해 매개 변수 화 해야 할 수 있 는 작업 은 다음 과 같 습니다 . When designing and building an application , things that you might previously have hardcoded but which must parameterized for localization include : 
 화면 레이아웃 및 텍스트 , Screen layouts and text , 
 아이콘 , 그래픽 및 색 Icons , graphics and colors , 
 비디오 및 사운드 파일 Video and sound files , 
 동적 텍스트 및 텍스트 서식 지정 ( 예 : 숫자 , 통화 및 날짜 ) Dynamic text and text - formatting ( such as numbers , currency and dates ) , 
 RTL ( 오른쪽 에서 왼쪽 ) 언어 의 레이아웃 변경 내용 Layout changes for right - to - left ( RTL ) languages , and 
 데이터 정렬 . Data sorting . 
 앱 이 이러 한 팁 을 대상 으로 하 는 모바일 플랫폼 에 관계 없이 고품질 의 지역 화 된 앱 을 빌 드 하 는 데 도움 이 됩니다 . Regardless of which mobile platforms your app targets these tips will help you build a high - quality localized app . 
 콘텐츠 를 지역 화 할 수 있 도록 응용 프로그램 을 설계 하 는 것 을 국제 화 라고 합니다 . Architecting an application so that it is possible to localize its content is called internationalization . 국제 화 를 제대로 수행 하 는 것 은 런타임 에 다른 언어 문자열 을 로드 하 는 것 보다 훨씬 더 간단 합니다 . 잘 디자인 된 앱 은 언어 및 로 캘 ( 이미지 , 소리 및 비디오 포함 ) 을 기준 으로 모든 리소스 를 변경 할 수 있 도록 허용 하 고 조정 할 수 있 어야 합니다 . 크기 를 조정 하 는 다른 문자열 을 사용 하 는 서식 지정 및 레이아웃 Doing internationalization properly is more than just allowing for different language strings to be loaded at runtime – a well - designed app should allow for all resources to be changed based on language and locale ( including images , sounds and videos ) and can adapt formatting and layout to cope with different sized strings . 
 이 섹션 에서 는 국제 화 된 응용 프로그램 을 빌 드 할 때 고려 해 야 할 몇 가지 디자인 고려 사항 을 설명 합니다 . This section discusses some design considerations to be taken into account when building an internationalized application . 
 레이아웃 및 문자열 길 이 Layouts and string length 
 중국어 및 일본어 문자열 은 매우 짧 을 수 있 습니다 . 경우 에 따라 하나 또는 두 개 의 문자 를 입력 필드 레이블 에 사용 할 수 있 습니다 . Chinese and Japanese strings can be very short – sometimes one or two characters can be meaningful enough for an input field label . 
 IOS 홈 화면 의 몇 개 항목 에 대 한 문자열 길이 를 영어 , 독일어 및 일본어 로 비교 합니다 . Compare the string lengths for a few items on the iOS home screen in English , German , and Japanese : 
 영어 ( 8 자 ) 의 설정 은 독일어 번역 에 는 13 자 이 지만 일본어 에서 는 2 자만 필요 합니다 . Notice that Settings in English ( 8 characters ) requires 13 characters for the German translation but only 2 characters in Japanese . 
 레이블 길이 가 크 게 달라질 수 있 는 경우 표시 레이블 및 입력 필드 가 나란히 표시 되 는 레이아웃 은 사용 하 기 어렵 습니다 . Layouts where the display label and input field are side - by - side are difficult to work with when the label length can vary greatly . 레이블 및 입력 모두 에서 화면 의 전체 너비 를 사용 할 수 있 기 때문 에 레이블 이 필드 위 에 표시 되 는 레이아웃 을 보다 쉽 게 지역 화 할 수 있 습니다 . Often a layout where the label is displayed above a field is easier to localize because the full width of the screen is available for both the label and the input . 
 일반 적 으로 고정 레이아웃 을 작성 하 는 경우 ( 특히 side - by - side 요소 ) 레이블 및 텍스트 에 필요 한 영어 문자열 보다 최소 50 % 이상 의 너비 를 허용 합니다 . As a general rule , if you are building fixed layouts ( especially side - by - side elements ) allow at least 50 % more width than your English strings require for labels and text . 이렇게 하 면 모든 문제 를 해결 할 수 는 없 지만 대부분 의 경우 작동 하 는 버퍼 를 제공 합니다 . This won ’ t solve every problem but will provide a buffer that will work in many cases . 
 입력 유효 성 검사 Input validation 
 유효 성 검사 규칙 을 작성 할 때 가정 합니다 . Beware of assumptions when writing validation rules . 단일 문자 가 거의 의미 가 없 기 때문 에 영어 의 문자 를 적어도 3 자 이상 입력 할 수 있 도록 텍스트 필드 를 입력 해야 할 수 있 습니다 . It might seem valid to require a text field input to " require " at least three characters in English , since a single letter very rarely has any meaning . 중국어 및 일본어 에서 단일 문자 는 유효 한 입력 이 될 수 있 으며 유효 성 검사 메시지 " 최소 3 자 이상 필요 합니다 . " 는 이러 한 언어 에 적합 하 지 않 습니다 . In Chinese and Japanese however a single character might be a valid input , and a validation message " at least 3 characters is required " does not make sense for those languages . 
 전자 메일 주소 또는 웹 사이트 URL 의 유효 성 검사 와 같 은 다른 작업 은 ASCII 하위 집합 으로 제한 되 지 않 는 문자 를 사용 하 여 더 복잡 해 집니다 . Other seemingly simple tasks like validating an email address or website URL become more complicated with the characters are not limited to the ASCII subset . 
 국제 화 를 사용 하 여 유효 성 검사 규칙 을 작성 하 는 것 이 좋 습니다 . 가장 덜 제한 적 인 규칙 을 선택 하 거나 각 언어 마다 다르 게 작동 하 도록 논리 를 작성 합니다 . Write your validation rules with internationalization in mind – either choose the least restrictive rules , or write the logic so that it works differently for each language . 
 이미지 및 색 Images and Color 
 사용 자 가 선택 한 언어 에 따라 모든 이미지 를 변경 해야 하 는 것 은 아닙니다 . Not every image needs to change based on a user ’ s language choice . 많 은 아이콘 이 나 사진 은 말 하 는 언어 에 관계 없이 모든 사용자 에 게 적합 합니다 . Many icons or photos will be suitable for all users , not matter what language they speak . 일부 리소스 는 다음 과 같이 지역 화 하 는 것 이 좋 습니다 . Some resources make sense to localize though , such as : 
 사람 또는 특정 위치 를 설명 하 는 이미지 – 로컬 사용 자 / 위치 를 표시 하 는 경우 사용자 에 게 더 많 은 관련 성 이 있 을 수 있 습니다 . Images depicting people or specific locations – your app may feel more relevant to users if it shows local people / locations . 
 아이콘 – 일부 iconography 은 문화 권 에 따라 달 라 지 며 , 로컬 에서 이해 를 반영 하 도록 이미지 를 지역 화 하 여 앱 을 더 쉽 게 사용 할 수 있 습니다 . Icons – Some iconography can be culture - specific and you can make your app easier to use by localizing the imagery to reflect local understanding . 
 색 - 일부 문화 권 은 색 을 다르 게 인식 합니다 . 빨간색 은 한 지역 에서 경고 를 의미 할 수 있 지만 다른 지역 에서 는 좋 은 방법 입니다 . Colors – Some cultures understand colors differently – red might mean warning in one region , but good luck in another . 앱 을 디자인 할 때 네이티브 스피커 로 확인 하 여 색 을 지역 화 하 는 메커니즘 을 빌 드 해야 하 는지 여부 를 확인 합니다 . Check with native speakers when designing your app to determine whether you should be building a mechanism to localize colors . 
 비디오 및 사운드 Videos and Sound 
 비디오 및 사운드 는 응용 프로그램 을 지역 화 할 때 특별 한 문제 를 제공 합니다 . 이 는 비교 적 쉽 게 문자열 을 변환 할 수 있 는 반면 여러 voiceover 트랙 또는 비디오 클립 을 기록 하 는 것 은 비용 이 많이 들 고 어려울 수 있 기 때문 입니다 . Videos and sound present special challenges when localizing an application , because while it ’ s relatively easy to get strings translated , recording multiple voiceover tracks or video clips can be both expensive and difficult . 
 비디오 및 사운드 파일 의 여러 복사본 은 응용 프로그램 의 크기 를 크 게 늘릴 수 있 습니다 ( 특히 많 은 언어 로 지역 화 하 거나 많 은 미디어 파일 이 있 는 경우 ) . Multiple copies of video and sound files may also significantly increase the size of your application ( especially if you are localizing into a large number of languages or have lots of media files ) . 사용 자 가 앱 을 설치 한 후 필수 언어 자산 만 다운로드 하 는 것 이 좋 을 수 있 지만 저속 네트워크 에서 사용 자 환경 이 저하 될 수 도 있 습니다 . You might consider downloading only the required language assets after the user has installed your app , but this could also result in a poor user experience on slow networks . 
 지역 화 문제 를 해결 하 는 방법 에 는 여러 가지 가 있 습니다 . 가장 중요 한 것 은 이 를 사전 에 고려 하 고 응용 프로그램 이 이 를 처리 하 도록 설계 되 어 있 는지 확인 하 는 것 입니다 . There are often multiple ways to solve localization issues – the most important thing is to consider them up - front and ensure your application is designed to take care of them . 
 날짜 , 시간 , 숫자 및 통화 Dates , Times , Numbers and Currency 
 . NET 형식 지정 함수 를 사용 하 는 경우 소수 구분 기호 가 올바르 게 구문 분석 되 도록 문화 권 을 지정 해야 합니다 ( 그리고 변환 예외 가 throw 되 지 않 음 ) . If you ’ re using . NET formatting functions , remember to specify the culture so that decimal separators are parsed correctly ( and avoid conversion exceptions being thrown ) . 예 를 들 어 1 . 99 및 1 은 로 캘 에 따라 유효 한 10 진수 표현 입니다 . For example both 1 . 99 and 1 , 99 are valid decimal representations depending on your locale . 
 데이터 를 알려진 원본 ( 사용자 의 사용 자 코드 또는 사용 자 가 제어 하 는 웹 서비스 ) 에서 가져오 는 경우 표준 영어 서식 지정 에 사용 할 InvariantCulture 같 은 서식 지정 과 일치 하 는 문화 권 식별자 를 하드 코드 할 수 있 습니다 . When the data is coming from a known source ( ie . from your own code or a web - service that you control ) you can hardcode a culture identifier that matches the formatting such as the InvariantCulture which will work for standard English language formatting . 
 응용 프로그램 사용 자 가 데이터 를 입력 하 는 경우 해당 로 캘 을 반영 하 는 CultureInfo 인 스턴스 를 사용 하 여 구문 분석 합니다 . If the data is being input by the app user , parse it using a CultureInfo instance that reflects their locale : 
 자세 한 내용 은 숫자 문자열 구문 분석 및 날짜 및 시간 문자열 구문 분석 MSDN 문서 를 참조 하 세요 . See the Parsing Numeric Strings and Parsing Date and Time Strings MSDN articles for additional information . 
 오른쪽 에서 왼쪽 ( RTL ) 언어 Right - to - left ( RTL ) Languages 
 아랍어 , 히브리 어 및 우르 두 어와 같 은 일부 언어 ( 예 : ) 는 오른쪽 에서 왼쪽 으로 읽 습니다 . Some languages , such as Arabic , Hebrew , and Urdu ( for example ) , are read from right to left . 이러 한 언어 를 지 원 하 는 응용 프로그램 은 오른쪽 에서 왼쪽 판독기 에 맞 게 조정 하 는 화면 디자인 을 사용 해야 합니다 . 예 를 들 면 다음 과 같 습니다 . Applications that support these languages should use screen designs that adapt for right - to - left readers , for example : 
 텍스트 를 오른쪽 에 맞춰야 합니다 . Text should be right - aligned . 
 레이블 은 입력 필드 의 오른쪽 에 표시 됩니다 . Labels should appear to the right of input fields . 
 기본 단추 배치 가 일반 적 으로 반전 됩니다 . Default button placement is generally reversed . 
 컨텍스트 방향 을 사용 하 는 계층 적 탐색 살짝 밀 기 및 애니메이션 ( 및 기타 탐색 메타포 및 애니메이션 ) 도 되돌려야 합니다 . Hierarchical navigation swiping and animation ( and other navigation metaphors and animations ) that use direction for context should also be reversed . 
 IOS 와 Android 는 모두 오른쪽 에서 왼쪽 레이아웃 및 글꼴 렌더링 을 지원 하 며 , 기본 제공 기능 을 사용 하 여 위 의 조정 을 수행 하 는 데 도움 이 됩니다 . Both iOS and Android support right - to - left layouts and font rendering , with built - in features that help to make the above adjustments . Xamarin . ios 는 현재 자동 으로 RTL 렌더링 을 지원 하 지 않 습니다 . Xamarin . Forms does not currently automatically support RTL rendering . 
 언어 마다 동일 한 문자 집합 을 사용 하 는 경우 에 도 해당 알파벳 의 정렬 순서 를 다르 게 정의 합니다 . Different languages define the sort order of their alphabets differently , even when they use the same character set . 
 언어 ( CultureInfo ) 가 정렬 순서 에 영향 을 주 는 예제 에 대 한 . NET Framework 문자열 사용 에 대 한 모범 사례 에서 문자열 비교 의 세부 정보 를 참조 하 세요 . See the Detail of String Comparison in Best Practices for Using Strings in the . NET Framework for an example where language ( CultureInfo ) affects the sort order . 
 모바일 플랫 폼 의 기본 제공 데이터베이스 기능 이 언어 별 정렬 순서 를 지원 하 므로 비즈니스 논리 에서 추가 코드 를 구현 해야 할 수 도 있 습니다 . It ’ s unlikely the built - in database capabilities on the mobile platforms will support language - specific sort ordering so you may be required to implement additional code in your business logic . 
 텍스트 검색 Text search 
 여러 언어 를 염두 에 두 면 검색 알고리즘 을 작성 하 고 테스트 해야 합니다 . Ensure you write and test your search algorithm with multiple languages in mind . 고려 해 야 할 사항 은 다음 과 같 습니다 . Things to consider include : 
 자동 완성 – 자동 완성 기능 을 작성 한 경우 사용 자 의 언어 와 관련 된 제안 사항 을 확인 합니다 . Auto - complete – if you have built an auto - complete function ensure it sources suggestions relevant to the user ’ s language . 
 쿼리 와 데이터 일치 – 특정 언어 로 입력 된 쿼리 는 해당 언어 로 작성 된 콘텐츠 나 앱 의 모든 콘텐츠 에 대해 실행 됩니다 . Matching query to data – will search queries entered in a specific language be executed against just content written in that language , or against all content in your app ? 
 형태소 분석 – 유사 한 단어 를 검색 하 도록 검색 을 작성 하 는 경우 word 루트 및 기타 검색 최적 화 는 지원 되 는 모든 언어 에 대해 작성 된 최적화 입니다 . Stemming – if your search is built to search for similar words , word roots and other search optimizations , are those optimizations built for all the languages you support ? 
 정렬 – 결과 가 올바르 게 정렬 되 었 는지 확인 합니다 ( 위 참조 ) . Sorting – make sure the results are sorted correctly ( see above ) . 
 외부 소스 의 데이터 Data from external sources 
 많 은 응용 프로그램 은 Twitter 및 RSS 피드 에서 날씨 , 뉴스 또는 주식 가격 으로 외부 소스 에서 데이터 를 다운로드 합니다 . Many applications download data from external sources , from Twitter and RSS feeds to weather , news , or stock prices . 사용자 에 게이 를 표시 하 는 경우 관련 이 없 거나 읽 을 수 없 는 정보 화면 을 표시 하 는 가능 성 을 고려 해 야 합니다 . When displaying this to a user you need to consider the possibility that you will display a screen of irrelevant or unreadable information to them . 
 응용 프로그램 에서 사용자 와 관련 된 데이터 를 표시 하 는 데 사용 할 수 있 는 몇 가지 전략 이 있 습니다 . There are few strategies you can use to try and ensure your app displays data relevant to the user : 
 다른 원본 – 응용 프로그램 은 사용 자 의 언어 나 로 캘 에 따라 다른 원본 에서 데이터 를 다운로드 할 수 있 습니다 . Different sources – your application might download the data from a different source depending on the user ’ s language or locale . 로 캘 뉴스 , 날씨 및 주가 는 북 아메리카 피드 에서 다운로드 한 항목 보다 더 효과 적 일 수 있 습니다 . Locale news , weather and stock prices might make more sense than something downloaded from a North American feed . 
 지역 화 된 표시 – Twitter 또는 사진 피드 를 표시 하 는 경우 콘텐츠 자체 가 원래 언어 로 유지 되 는 경우 에 도 해당 언어 로 된 메타 데이터 ( 예 : 걸린 시간 ) 를 표시 해야 합니다 . Localized display – if you are displaying a Twitter or photo feed , you should display the metadata ( such as the time taken ) in his or her own language , even if the content itself remains in the original language . 
 번역 – 들어오 는 데이터 의 컴퓨터 번역 을 수행 하 기 위해 앱 에 번역 옵션 을 빌 드 할 수 있 습니다 . Translation – you could build a translation option into your app to do a machine translation of incoming data . 이 는 자동 이거 나 사용 자 의 판단 에 의해 수행 될 수 있 습니다 . 컴퓨터 번역 이 완벽 하 지 않 으므로 사용자 에 게 알려야 합니다 . This could be automatic or at the user ’ s discretion – just be sure to notify the user if this is taking place , since machine translations are never perfect ! 
 이 는 오디오 트랙 또는 비디오 에 대 한 외부 링크 에 도 영향 을 줄 수 있 습니다 . 응용 프로그램 을 디자인 하 는 경우 소 싱 번역 된 콘텐츠 를 미리 계획 하 거나 콘텐츠 를 제공 하 지 않 을 때 사용 자 인터페이스 에서 사용자 에 게 적절 한 알림 이 제공 되 도록 합니다 . 언어 도 . This could also affect external links to audio tracks or videos – when designing your application be sure to plan ahead for sourcing translated content or ensuring that users are adequately informed by the user interface when content will not be presented in their language . 
 과 도 하 게 변환 안 함 Don ’ t over - translate 
 앱 의 일부 문자열 을 변환 할 필요 가 없 거나 , 변환기 에서 특별히 주의 를 기울여야 할 수 도 있 습니다 . Some strings in your app might not need translating , or at the very least need special attention by the translator . 예 를 들 면 다음 과 같 습니다 . Examples might include : 
 Url – URL 을 나열 하 는 경우 언어 에 따라 조정 될 수 도 있 고 그렇 지 않 을 수 도 있 습니다 . URLs – if you list a URL , it may or may not need to be adjusted by language . 예 를 들 어 facebook . com 는 변환 이 필요 하 지 않 습니다 . 기본 사이트 에서 언어 를 자동 으로 검색 합니다 . For example , facebook . com doesn ’ t require translation it auto - detects language at the main site . 다른 사이트 에 는 로 캘 별 콘텐츠 가 있 으며 yahoo . com 와 yahoo . fr 또는 yahoo . it 와 같 은 다른 URL 을 제공 할 수 있 습니다 . Other sites have locale - specific content and you might want to offer a different URL , such as yahoo . com versus yahoo . fr or yahoo . it . 
 전화 번호 – 특히 특정 언어 를 사용 하 는 호출자 의 국가 코드 또는 숫자 가 다른 전화 번호 입니다 . Telephone numbers – especially those with different country - codes or numbers for callers that speak a particular language . 
 연락처 세부 정보 - 주소 및 기타 정보 는 언어 나 로 캘 에 따라 달라질 수 있 습니다 . Contact details – addresses and other information might vary by language or locale . 
 상표 & 제품 이름 – 일부 문자열 은 항상 동일 한 언어 로 작성 되 기 때문 에 변환 할 필요 가 없 습니다 . Trademarks & product names – some strings don ’ t need translating because they ’ re always written in same language . 
 마지막 으로 특정 문자열 에 특별 한 처리 가 필요 한 경우 에 는 변환기 에 대 한 자세 한 지침 을 포함 해야 합니다 . Finally , be sure to include detailed instructions for the translator if certain strings require special treatment . 
 일반 적 으로 문자열 의 형식 이 지정 되 지 않 기 때문 에 모바일 앱 에서 문제 가 발생 하 지 않 습니다 . Not usually a problem with mobile apps because strings generally aren ’ t richly formatted . 그러나 앱 에서 서식 있 는 텍스트 ( 예 : 굵 게 또는 기울임 꼴 서식 지정 ) 가 필요 한 경우 변환기 에서 서식 지정 을 입력 하 는 방법 을 알 고 있 는지 확인 하 고 , 문자열 파일 이 올바르 게 저장 되 며 , 사용자 에 게 표시 되 기 전 에 형식 이 적절 하 게 지정 됩니다 ( ie . 실수 로 허용 하 지 않 음 ) . 형식 지정 코드 자체 가 사용자 에 게 제공 됩니다 . However if rich text ( such as bold or italic formatting ) is required in your app ensure the translator knows how to input the formatting , your strings files store it correctly and it is formatted properly before being displayed to the user ( ie . don ’ t accidentally let the formatting codes themselves be presented to the user ) . 
 번역 팁 Translation Tips 
 응용 프로그램 에서 사용 하 는 문자열 을 변환 하 는 것 은 지역 화 프로세스 의 일부 로 간주 됩니다 . Translating the strings used by an application is considered to be part of the localization process . 일반 적 으로 이 작업 은 번역 서비스 로 아웃소싱 되 며 응용 프로그램 또는 비즈니스 를 모를 수 있 는 다 국어 직원 에 의해 수행 됩니다 . Typically this task will be outsourced to a translation service and performed by multilingual staff that may not know your application or your business . 
 다음 은 정확 하 게 변환 하 기 쉽 고 지역 화 된 앱 의 품질 을 향상 시킬 수 있 는 문자열 을 생 성 하 는 데 도움 이 되 는 팁 입니다 . The following tips will help you produce strings that are easier to translate accurately and therefore improve the quality of your localized apps . 
 단어 가 아니 라 전체 문자열 지역 화 Localize complete strings , not words 
 개발자 는 응용 프로그램 전체 에서 다시 사용 할 수 있 도록 단일 단어 나 문장 의 ' 코드 조각 ' 을 지정 하 는 방법 을 사용 하 기 도 합니다 . Sometimes developers take the approach of trying to specify single words or sentence ' snippets ' so that they can re - use them throughout the application . 예 를 들 어 " 5 개 의 메시지 가 있 습니다 . " 라는 텍스트 가 표시 됩니다 . For example , for the text " You have 5 messages . " 변환 에 대해 다음 문자열 을 지정 할 수 있 습니다 . they might specify the following strings for translation 
 잘못 됨 : Bad : 
 그런 다음 문자열 연결 을 사용 하 여 코드 에 올바른 구 를 즉시 만들 려고 합니다 . and then attempt to create the correct phrase on - the - fly in code using string concatenation : 
 " You have " + " " + numMsgs + " " + " messages " 
 " You have " + " no " + " messages " 
 모든 언어 에 대해 작동 하 는 것 은 아니 며 변환기 가 각 짧 은 세그먼트 의 컨텍스트 를 이해 하 기 어려울 수 있 으므로 이 방법 은 사용 하 지 않 는 것 이 좋 습니다 . This is discouraged because it will not necessarily work for all languages and will be difficult for the translator to understand the context of each short segment . 또한 번역 된 문자열 을 다시 사용 하 여 다른 컨텍스트 에서 사용 하 는 경우 나중 에 문제 를 발생 시킬 수 있 습니다 ( 업데이트 된 다음 업데이트 ) . It also leads to re - use of translated strings , which can cause problems later if they are used in different contexts ( and then get updated ) . 
 매개 변수 다시 정렬 허용 Allow for parameter re - ordering 
 일부 프로그래밍 언어 에서 는 문자열 의 매개 변수 순서 를 지정 하 기 위해 추가 구문 이 필요 하 지만 . NET 은 이미 번호 가 매겨진 자리 표시 자 의 개념 을 지원 합니다 . Some programming languages require extra syntax to specify the order of parameters in a string , however . NET already supports the concept of numbered placeholders , so 
 양호 : Good : 
 다음 을 변환 할 수 있 습니다 ( 자리 표시 자 의 위치 및 순서 가 변경 됨 ) . could be translated the following ( where the position and order of the placeholders is changed ) 
 그리고 토큰 은 변환기 로 정렬 됩니다 . and the tokens will be ordered as the translator intended . 문자열 을 번역기 로 보낼 때 각 자리 표시 자 에 포함 된 내용 에 대 한 설명 을 포함 해야 합니다 . Be sure to include an explanation of what each placeholder contains when sending the string to a translator . 
 카디널 리티에 여러 문자열 사용 Use multiple strings for cardinality 
 " You have 1 message . " 
 " You have 2 messages . " 
 표시 되 는 숫자 를 평가 하 고 적절 한 문자열 을 선택 하 려면 앱 에서 코드 를 작성 해야 합니다 . You will have to write code in your app to evaluate the number being displayed and choose the appropriate string . 일부 플랫 폼 ( iOS 및 Android 포함 ) 에 는 현재 언어 / 로 캘 의 기본 설정 에 따라 가장 적합 한 복수 형 문자열 을 자동 으로 선택 하 는 기능 이 기본 제공 됩니다 . Some platforms ( including iOS and Android ) have built - in features to automatically choose the best plural string based on the preferences for the current language / locale . 
 성별 허용 Allowing for gender 
 경우 에 따라 라틴어 기반 언어 는 주체 의 성별 에 따라 다른 단어 를 사용 합니다 . Latin - based languages sometimes use different words depending on the gender of the subject . 앱 이 성별 을 알 고 있 는 경우 번역 된 문자열 이 이 를 반영 하 도록 허용 해야 합니다 . If your app knows about gender , you should allow the translated strings to reflect this . 
 또한 영어 에서 도 문자열 이 특정 사용 자 또는 앱 의 사용 자 를 참조 하 는 보다 명백 한 사례 가 있 습니다 . There is also the more obvious case even in English , where strings refer to a specific person or user of your app . 예 를 들 어 일부 사이트 는 " Bob commented on his post " 와 같 은 메시지 를 표시 하 므로 남성 , 여성 , 이진 또는 알 수 없 는 성별 모두 에 대 한 문자열 이 필요 합니다 . For example , some sites show messages like " Bob commented on his post " so you need strings for both a male , female , and non - binary or unknown gender : 
 문자열 다시 사용 안 함 Don ’ t reuse strings 
 또는 문자열 자체 가 다른 목적 이 나 의미 가 있 는 경우 에 도 마찬가지 로 문자열 을 다시 사용 하 지 마십시오 . Or more accurately , don ’ t reuse strings just because they are similar when the string itself has a different purpose or meaning . 
 예 를 들 어 앱 에 on / off 스위치 가 있 고 switch 컨트롤 에 는 ' on ' 및 ' o f f ' 에 대 한 텍스트 를 지역 화 해야 한다고 가정 합니다 . For example : imagine you have an on / off switch in your app and the switch control needs the text for ‘ on ’ and ‘ off ’ to be localized . 또한 응용 프로그램 의 다른 위치 에 있 는 해당 설정 의 값 을 텍스트 레이블 로 표시 합니다 . You also display the value of that setting elsewhere in the app in a text label . 스위치 표시 에 다른 문자열 을 사용 해야 합니다 ( 기본 언어 의 동일 한 문자열 인 경우 에 도 ) . 예 를 들 면 다음 과 같 습니다 . You should use different strings for the switch display versus the switch ’ s status ( even if they are the same string in your default language ) – for example : 
 " 켜 기 " – 스위치 자체 에 표시 됩니다 . " On " – displayed on the switch itself 
 " Off " – 스위치 자체 에 표시 됩니다 . " Off " – displayed on the switch itself 
 " On "- 레이블 에 표시 됩니다 . " On " – displayed in a label 
 " Off " – 레이블 에 표시 됩니다 . " Off " – displayed in a label 
 이 는 번역기 에 대 한 최대 유연 성 을 제공 합니다 . This provides maximum flexibility for the translator : 
 디자인 상 의 이유 로 스위치 자체 에서 소문자 " on " 및 " off " 를 사용 하 지만 표시 레이블 은 대문자 " On " 및 " Off " 를 사용 합니다 . For design reasons , perhaps the switch itself uses lowercase " on " and " off " but the display label uses upper case " On " and " Off ". 
 일부 언어 에서 는 사용 자 인터페이스 컨트롤 에 맞 게 스위치 값 이 축약 되 도록 해야 할 수 도 있 지만 , 전체 ( 번역 된 ) 단어 가 레이블 에 표시 될 수 있 습니다 . Some languages might need the switch value to be abbreviated to fit in the user interface control , while the complete ( translated ) word can appear in the label . 
 또는 일부 언어 의 경우 에 는 " I " 및 " O " 를 사용 하 여 문화 권 을 잘 이해 하 는 것 이 가능 하 지만 레이블 을 " On " 또는 " Off " 로 계속 읽 을 수 있 습니다 . Alternatively , for some languages the rendering of your switch might be use " I " and " O " for cultural familiarity , but you might still want the label to read " On " or " Off ". 
 번역 서비스 Translation Services 
 앱 에 번역 기능 을 빌 드 하 려면 Azure Translator Text API 을 고려 하 세요 . To build translation features into your app , consider the Azure Translator Text API . 
 테스트 를 위해 여러 온라인 번역 도구 중 하나 를 사용 하 여 개발 중 에 응용 프로그램 에 지역 화 된 텍스트 를 포함 할 수 있 습니다 . For testing purposes you could use one of the many online translation tools to include some localized text in your app during development : 
 Google 번역 Google Translate 
 사용 할 수 있 는 다른 여러 가지 가 있 습니다 . There are many others available . 컴퓨터 번역 의 품질 은 일반 적 으로 전문 변환기 또는 네이티브 스피커 로 먼저 검토 하 고 테스트 하 지 않 고 도 응용 프로그램 을 릴리스 할 만큼 좋 은 것 은 아닙니다 . The quality of machine translation generally isn ' t considered good enough to release an application without first being reviewed and tested by professional translators or native speakers . 
 전문 번역 Professional translation 
 또한 문자열 을 사용 하 여 자체 번역자 에 게 배포 하 는 전문 번역 서비스 도 있 으므로 요금 에 대 한 번역 을 완료 할 수 있 습니다 . There are also professional translation services that will take your strings and distribute them to their own translators , providing you with finished translations for a fee . 
 가장 잘 알려진 서비스 중 하나 는 LionBridge 입니다 . One of the best - known services is LionBridge . 대부분 의 전문 서비스 는 문자열 , XML , RESX 및 p / PO 를 비롯 한 모든 일반 파일 형식 을 지원 합니다 . Most professional services support all the common file types including strings , XML , RESX and POT / PO . 
 이 문서 에서 는 앱 을 국제 화 다음 리소스 를 지역 화 하 기 전 에 알 아 두 어야 하 는 몇 가지 개념 을 소개 하 고 각 플랫폼 에 대 한 언어 기본 설정 을 변경 하 는 방법 도 살펴보 았 습니다 . This article introduced some of the concepts that you should be familiar with before internationalizing your app and then localizing your resources , and also covered how to change language preferences for each platform . 
 이러 한 개념 은 Xamarin 에서 가능 한 다양 한 플랫 폼 별 및 플랫 폼 간 국제 화 기술 에 적용 될 수 있 습니다 . These concepts can be applied to the various platform - specific and cross - platform internationalization techniques that are possible with Xamarin . 
 관심 있 는 플랫폼 에 대 한 기술 세부 정보 를 계속 읽 어 보 십시오 . Continue reading technical details for the platform you are interested in : 
 Apple 의 지역 화 개요 Apple ' s Localization Overview 
 Android 의 지역 화 검사 목록 Android ' s Localization Checklist 
 세계 시장 대응 성 응용 프로그램 개발 을 위한 최선 의 구현 방법 ( MSDN ) Best Practices for Developing World - Ready Applications ( MSDN )