ReactNative iOS 권한 텍스트를 지역화하는 방법

5421 단어 iOSreactnative
권한 요청시 텍스트를 단말기 언어에 맞게 변경할 때의 설정에 대해.

버전



ReactNative 0.63.3
Xcode 12.4

Info.plist에 권한 추가



앱 내에서 카메라를 사용하기 위해 Privacy - Camera Usage Description 가 있다면이 텍스트를 지역화하고 싶습니다.


PROJECT에서 Localizations로 다국어화하려는 언어 추가



먼저 Localizations에서 다국어화할 언어를 추가합니다. 이번에는 예로서 영어와 중국어(간체)를 추가하고 있습니다.


InfoPlist.strings 파일을 작성합니다.





Infoplist.strings라든지 Localalizable.strings라든지 이름을 바꾸면 반영되지 않기 때문에 주의. 문서에 제대로 쓰여졌습니다.

The values ​​for many keys in an information property list file are human-readable strings that are displayed to the user by the Finder or your own app. When you localize your app, you should be sure to localize the values ​​for these strings in addition to the rest of your app's content.
Localized values ​​are not stored in the Info.plist file itself. Instead, you store the values ​​for a particular localization in a strings file with the name InfoPlist.strings. You place this file in the same language-specific project directory that you use to store other resources for the same localization.The contents of the InfoPlist.strings file are the individual keys you want localized and the appropriately translated value. The routines that look up key values ​​in the Info.plist file take the user's language preferences return the localized version of the key (from the appropriate InfoPlist.strings file) when one exists. If a localized version of a key does not exist, the routines return the value stored in the Info.plist file.
About Information Property List Files

작성한 InfoPlist.strings를 Localize하여 다국어화



Xcode의 오른쪽 열에서 Localize 버튼을 눌러 추가한 언어를 선택합니다.

en.lproj , zh-Hans.lproj 와 같이 언어 마다 디렉토리가 작성되어 디렉토리내에 InfoPlist.strings 가 작성되고 있을 것입니다.

다음과 같이 InfoPlist.strings 각 언어별로 권한 텍스트로 표시할 텍스트를 설정합니다.
"NSCameraUsageDescription" = "告诉用户为什么应用会请求访问设备的摄像头的信息。";

시뮬레이터에서 언어를 변경하고 확인하면 설정한 텍스트가 표시됩니다.


푸시 알림 권한 현지화



푸시 통지의 허가 텍스트는 변경할 수 없기 때문에 단말의 언어에 의해 자동으로 전환된다.
시뮬레이터라고 언어를 변경해도 푸시 통지의 퍼미션 다이얼로그내의 텍스트는 영어로 표시되기 때문에 실기로 확인하는 것.

안드로이드는?



Android는 권한 메시지를 변경할 수 없습니다.

참고: launch()를 호출할 때 표시되는 대화 상자는 앱에서 사용자 지정할 수 없습니다. 사용자에게 자세한 정보와 컨텍스트를 제공하려면 앱의 UI를 변경하여 앱의 기능에 특정 권한이 필요한 이유를 사용자에게 알기 쉽게 설명합니다. 예를 들어, 기능을 활성화하는 버튼의 텍스트를 변경합니다.
Request app permissions | Android Developers

참고



Requesting Permission - App Architecture - iOS - Human Interface Guidelines - Apple Developer
Protected Resources - Apple Developer
국제화 및 현지화 가이드
Handle Localization for iOS Native Messages
iOS10에서 필요한 사용자 데이터에 액세스하기 위해 표시하는 문장을 현지화합니다.

좋은 웹페이지 즐겨찾기