1/* 2 * Copyright (c) Meta Platforms, Inc. and affiliates. 3 * 4 * This source code is licensed under the MIT license found in the 5 * LICENSE file in the root directory of this source tree. 6 */ 7 8#import "ABI48_0_0RCTLocalizationProvider.h" 9 10#import <Foundation/Foundation.h> 11 12static id<ABI48_0_0RCTLocalizationProtocol> _delegate = nil; 13static NSDictionary<NSString *, NSString *> *_languagePack = nil; 14 15void setLocalizationDelegate(id<ABI48_0_0RCTLocalizationProtocol> delegate) 16{ 17 _delegate = delegate; 18} 19 20void setLocalizationLanguagePack(NSDictionary<NSString *, NSString *> *pack) 21{ 22 _languagePack = pack; 23} 24 25@implementation ABI48_0_0RCTLocalizationProvider 26 27+ (NSString *)ABI48_0_0RCTLocalizedString:(NSString *)oldString withDescription:(NSString *)description 28{ 29 NSString *candidate = nil; 30 31 if (_delegate != nil) { 32 candidate = [_delegate localizedString:oldString withDescription:description]; 33 } 34 35 if (candidate == nil && _languagePack != nil) { 36 candidate = _languagePack[oldString]; 37 } 38 39 if (candidate == nil) { 40 candidate = oldString; 41 } 42 43 return candidate; 44} 45 46@end 47