Files
react-native/React/Fabric/RCTLocalizationProvider.mm
T
Jiayan Zhuang 07640dce69 Build the basic RCTLocalizationProvider
Summary:
Changelog:
[Internal][Add] - Build the basic RCTLocalizationProvider

RCTLocalizationProvider is to enable the localization in fabric. But I'd start with internal apps now.

Reviewed By: PeteTheHeat

Differential Revision: D22704051

fbshipit-source-id: 845693a131c325f3c3d92b2ff491d5421966ad3e
2020-08-06 14:35:35 -07:00

41 lines
929 B
Plaintext

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import "RCTLocalizationProvider.h"
#import <Foundation/Foundation.h>
static id<RCTLocalizationProtocol> _delegate = nil;
static NSDictionary<NSString *, NSString *> *_languagePack = nil;
void setLocalizationDelegate(id<RCTLocalizationProtocol> delegate)
{
_delegate = delegate;
}
void setLocalizationLanguagePack(NSDictionary<NSString *, NSString *> *pack)
{
_languagePack = pack;
}
@implementation RCTLocalizationProvider
+ (NSString *)RCTLocalizedString:(NSString *)oldString withDescription:(NSString *)description
{
if (_delegate != nil) {
return [_delegate localizedString:oldString withDescription:description];
}
if (_languagePack != nil) {
return _languagePack[oldString];
}
return oldString;
}
@end