diff --git a/YuMi/Global/YUMIHtmlUrl.h b/YuMi/Global/YUMIHtmlUrl.h
index 26e47123..ec4d76d3 100644
--- a/YuMi/Global/YUMIHtmlUrl.h
+++ b/YuMi/Global/YUMIHtmlUrl.h
@@ -101,6 +101,8 @@ typedef NS_ENUM(NSUInteger, URLType) {
kChannelUrl,
///LUDO排行榜路径
kLUDOUrl,
+ /// CP 規則頁
+ kCPRule,
};
NSString * const URLWithType(URLType type);
diff --git a/YuMi/Global/YUMIHtmlUrl.m b/YuMi/Global/YUMIHtmlUrl.m
index 79d135dc..65ebcc69 100644
--- a/YuMi/Global/YUMIHtmlUrl.m
+++ b/YuMi/Global/YUMIHtmlUrl.m
@@ -22,16 +22,15 @@ NSString * const URLWithType(URLType type) {
@(kGoldEarningsRecord) : @"modules/myincome/index.html#/GoldLog",///金币收益记录
@(kCandyTreeRuleURL) : @"modules/rule/newWishingWellRule.html",///糖果树规则 modules/rank/index.html#/wishingWellRule
@(kChannelUrl) : @"modules/%@/index.html?channelType=%@&deviceId=%@",
- @(kLUDOUrl) : @"modules/gameRank/index.html"///LUDO排行榜路径
+ @(kLUDOUrl) : @"modules/gameRank/index.html",///LUDO排行榜路径
+ @(kCPRule) : @"molistar/modules/rule/cpRule.html"
};
NSString * newUrl = [newDic objectForKey:@(type)];
if(newUrl != nil){
NSString * url = [newDic objectForKey:@(type)];
return [NSString stringWithFormat:@"%@/%@",prefix, url];
}
-
-
-
+
NSDictionary * dic = @{
@(kPrivacyURL) : @"sPa8x4YF1hFEeCeH5v+RMOulemxgjjZLbxkN8ZrBSM8=",//隐私政策 modules/rule/privacy-wap.html
@(kPrivacySDKURL) : @"EXbb0qKoel1tyEL3rQ3//BQ6p/uA56xs9iAOyFI7TRU=",//隐私政策-SDK modules/rule/sdk.html
diff --git a/YuMi/Modules/YMMine/View/CPListViewController.m b/YuMi/Modules/YMMine/View/CPListViewController.m
index d811d3a5..07fd8717 100644
--- a/YuMi/Modules/YMMine/View/CPListViewController.m
+++ b/YuMi/Modules/YMMine/View/CPListViewController.m
@@ -7,12 +7,13 @@
#import "CPListViewController.h"
-#import "Api+Mine.h"
-
#import "CPCard.h"
+#import "Api+Mine.h"
#import "RelationUserVO.h"
+#import "XPWebViewController.h"
#import "XPMineUserInfoCustomNavView.h"
+
@interface CPListCardCell : UITableViewCell
@property (nonatomic, strong) RelationUserVO *model;
@@ -122,7 +123,6 @@
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
_cpCardTableView.mj_header = header;
-
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
@@ -159,8 +159,8 @@
}
- (void)cancelRelation:(RelationUserVO *)model {
- NSString *message = [NSString stringWithFormat:@"I'll pay %@ %ld coins to leave my son lar", model.cpNick, (long)model.cancelGoldNum];
-
+ NSString *message = [NSString stringWithFormat:YMLocalizedString(@"UserDetail_CP_Toast_1"), @(model.cancelGoldNum), model.cpNick];
+ NSString *successMessage = [NSString stringWithFormat:YMLocalizedString(@"UserDetail_CP_Toast_2"), model.cpNick];
@kWeakify(self);
[TTPopup alertWithMessage:message confirmHandler:^{
@kStrongify(self);
@@ -204,7 +204,9 @@
#pragma mark - XPMineCustomNavViewDelegate
- (void)xPMineCustomNavView:(XPMineUserInfoCustomNavView *)view didClickEditButton:(UIButton *)sender {
- // TODO: Goto CP rule page
+ XPWebViewController * webVC =[[XPWebViewController alloc] init];
+ webVC.url = URLWithType(kCPRule);
+ [self.navigationController pushViewController:webVC animated:YES];
}
- (void)xPMineCustomNavView:(XPMineUserInfoCustomNavView *)view didClickBackButton:(UIButton *)sender {
@@ -216,7 +218,7 @@
if (!_navView) {
_navView = [[XPMineUserInfoCustomNavView alloc] init];
_navView.delegate = self;
- _navView.titleLabel.text = @"My CPPPPPPPPPPPP";
+ _navView.titleLabel.text = @"My CP";
_navView.titleLabel.textColor = [UIColor whiteColor];
[_navView.editButton setImage:[UIImage imageNamed:@"cp_help"] forState:UIControlStateNormal];
[_navView updateBackButtonImage:[UIImage imageNamed:@"home_search_white_back"]];
@@ -252,7 +254,7 @@
make.size.mas_equalTo(CGSizeMake(110, 110));
}];
- UILabel *title = [UILabel labelInitWithText:@"No more data" font:kFontRegular(14) textColor:[UIColor colorWithWhite:1 alpha:0.4]];
+ UILabel *title = [UILabel labelInitWithText:YMLocalizedString(@"XPMomentsRecommendViewController0") font:kFontRegular(14) textColor:[UIColor colorWithWhite:1 alpha:0.4]];
[_emptyView addSubview:title];
[title mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(_emptyView);
diff --git a/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineGuildTableViewCell.m b/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineGuildTableViewCell.m
index 3d20521b..31a82798 100644
--- a/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineGuildTableViewCell.m
+++ b/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineGuildTableViewCell.m
@@ -80,9 +80,9 @@
- (void)setInfo:(GuildInfo *)info {
_info = info;
self.avatarImageView.imageUrl = info.avatar;
- self.nameLabel.text = info.guildName;
- self.guildIDLabel.text = [NSString stringWithFormat:@"Guild ID: %ld", (long)info.guildId];
- self.agentIDLabel.text = [NSString stringWithFormat:@"Agent ID: %ld", (long)info.erbanNo];
+ self.nameLabel.text = [NSString stringWithFormat:@"%@%@", YMLocalizedString(@"UserDetail_1"), info.guildName];
+ self.guildIDLabel.text = [NSString stringWithFormat:@"%@%ld", YMLocalizedString(@"UserDetail_2"), (long)info.guildId];
+ self.agentIDLabel.text = [NSString stringWithFormat:@"%@%ld", YMLocalizedString(@"UserDetail_3"), (long)info.erbanNo];
}
#pragma mark -
@@ -92,7 +92,7 @@
_avatarImageView.layer.cornerRadius = 8;
_avatarImageView.layer.borderColor = UIColorFromRGB(0xFFEEAC).CGColor;
_avatarImageView.layer.borderWidth = 1;
- _avatarImageView.layer.maskedCorners = YES;
+ _avatarImageView.layer.masksToBounds = YES;
}
return _avatarImageView;
}
diff --git a/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineMultipleContentTableViewCell.m b/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineMultipleContentTableViewCell.m
index 17ec3231..0380ef75 100644
--- a/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineMultipleContentTableViewCell.m
+++ b/YuMi/Modules/YMMine/View/Cell/MineInfo/XPMineMultipleContentTableViewCell.m
@@ -308,8 +308,18 @@
[self.allGifts addObjectsFromArray:luckyGiftWall];
}
+- (void)setMedalModel:(MedalModel *)medalModel {
+ _medalModel = medalModel;
+}
+
- (void)updateCell {
[self.contentCollectionView reloadData];
+
+ if (self.isMedal) {
+ self.emptyLabel.hidden = self.medalModel.medalCount != 0;
+ } else {
+ self.emptyLabel.hidden = self.allGifts.count != 0;
+ }
}
#pragma mark -
@@ -343,7 +353,7 @@
_medalButton = [UIButton buttonWithType:UIButtonTypeCustom];
_medalButton.tag = 1;
_medalButton.selected = YES;
- [_medalButton setTitle:@"Medal" forState:UIControlStateNormal];
+ [_medalButton setTitle:YMLocalizedString(@"XPMineDataGiftTableViewCell2") forState:UIControlStateNormal];
[_medalButton.titleLabel setFont:kFontSemibold(16)];
[_medalButton setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
[_medalButton setTitleColor:[UIColor colorWithWhite:1 alpha:0.6] forState:UIControlStateNormal];
@@ -359,7 +369,7 @@
if (!_giftButton) {
_giftButton = [UIButton buttonWithType:UIButtonTypeCustom];
_giftButton.tag = 2;
- [_giftButton setTitle:@"Gift" forState:UIControlStateNormal];
+ [_giftButton setTitle:YMLocalizedString(@"XPMineUserInfoGiftWallViewController0") forState:UIControlStateNormal];
[_giftButton.titleLabel setFont:kFontRegular(14)];
[_giftButton setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
[_giftButton setTitleColor:[UIColor colorWithWhite:1 alpha:0.6] forState:UIControlStateNormal];
diff --git a/YuMi/Modules/YMMine/View/MineInfo/XPMineUserDataViewController.m b/YuMi/Modules/YMMine/View/MineInfo/XPMineUserDataViewController.m
index c6d98802..c912fd92 100644
--- a/YuMi/Modules/YMMine/View/MineInfo/XPMineUserDataViewController.m
+++ b/YuMi/Modules/YMMine/View/MineInfo/XPMineUserDataViewController.m
@@ -250,7 +250,7 @@ typedef enum : NSUInteger {
return 1;
break;
case Guild:
- return 1;
+ return self.guildInfo == nil ? 0 : 1;
break;
case Medal:
return 0; //self.medalInfo.medalCount == 0 ? 0 : 1;
@@ -737,7 +737,7 @@ typedef enum : NSUInteger {
- (XPMineUserSectionHeader *)guildHeader {
if (!_guildHeader) {
_guildHeader = [[XPMineUserSectionHeader alloc] init];
- _guildHeader.title = @"Guild";
+ _guildHeader.title = YMLocalizedString(@"UserDetail_0");
_guildHeader.hasMore = NO;
}
return _guildHeader;
diff --git a/YuMi/Modules/YMMine/View/SubViews/CPCard.m b/YuMi/Modules/YMMine/View/SubViews/CPCard.m
index 1c962081..ecaed69e 100644
--- a/YuMi/Modules/YMMine/View/SubViews/CPCard.m
+++ b/YuMi/Modules/YMMine/View/SubViews/CPCard.m
@@ -116,7 +116,7 @@
[self.bottomImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.size.mas_equalTo(CGSizeMake(100, 19));
- make.top.mas_equalTo(90);
+ make.top.mas_equalTo(heart).offset(55);
}];
[self addSubview:self.progressView];
@@ -198,9 +198,9 @@
make.bottom.mas_equalTo(self).offset(-12);
}];
- self.progressView.progress = self.relationUser.currentExp / self.relationUser.nextLevelExp;
- self.progressUpgradeLabel.text = [NSString stringWithFormat:@"Need %ld to upgrade", (long)(self.relationUser.nextLevelExp - self.relationUser.currentExp)];
- self.progressNumLabel.text = [NSString stringWithFormat:@"(%ld/%ld)", (long)self.relationUser.currentExp, (long)self.relationUser.endExp];
+ self.progressView.progress = ((self.relationUser.endExp - self.relationUser.startExp) * 1.0) / (self.relationUser.currentExp * 1.0);
+ self.progressUpgradeLabel.text = [NSString stringWithFormat:YMLocalizedString(@"UserDetail_CP_List_0"), [NSString formatNumberToKOrM:@(self.relationUser.endExp - self.relationUser.currentExp).stringValue]];
+ self.progressNumLabel.text = [NSString stringWithFormat:@"(%@/%@)", [NSString formatNumberToKOrM:@(self.relationUser.currentExp).stringValue], [NSString formatNumberToKOrM:@(self.relationUser.endExp).stringValue]];
}
- (void)playSVGA:(NSInteger)level {
diff --git a/YuMi/Modules/YMMine/View/SubViews/CPGiftBanner.m b/YuMi/Modules/YMMine/View/SubViews/CPGiftBanner.m
index cdf79ea5..484910ce 100644
--- a/YuMi/Modules/YMMine/View/SubViews/CPGiftBanner.m
+++ b/YuMi/Modules/YMMine/View/SubViews/CPGiftBanner.m
@@ -41,8 +41,8 @@
make.bottom.mas_equalTo(self).offset(-40);
}];
- UILabel *label_1 = [self labelWith:@"Send"];
- UILabel *label_2 = [self labelWith:@"CP Gift"];
+ UILabel *label_1 = [self labelWith:YMLocalizedString(@"Combo_0")];
+ UILabel *label_2 = [self labelWith:[NSString stringWithFormat:@"CP %@", YMLocalizedString(@"XPWishGiftInfoView1")]];
[stack addArrangedSubview:self.avatar_sender];
[stack addArrangedSubview:label_1];
[stack addArrangedSubview:self.avatar_receiver];
@@ -87,18 +87,19 @@
CGFloat width = KScreenWidth;
CGFloat height = kGetScaleWidth(145);
- CPGiftBanner *bannerView = [[CPGiftBanner alloc] initWithFrame:CGRectMake(KScreenWidth, 50, width, height)];
+ CGFloat topSpace = kGetScaleWidth(67);
+ CPGiftBanner *bannerView = [[CPGiftBanner alloc] initWithFrame:CGRectMake(KScreenWidth, topSpace, width, height)];
bannerView.bannerAttachment = attachment;
bannerView.completeDisplay = complete;
[superView addSubview:bannerView];
@kWeakify(bannerView);
[UIView animateWithDuration:0.25 animations:^{
- bannerView.center = CGPointMake(superView.center.x, height/2 + 50);
+ bannerView.center = CGPointMake(superView.center.x, height/2 + topSpace);
} completion:^(BOOL finished) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
- bannerView.frame = CGRectMake(-KScreenWidth, 50, width, height);
+ bannerView.frame = CGRectMake(-KScreenWidth, topSpace, width, height);
} completion:^(BOOL finished) {
@kStrongify(bannerView);
if (bannerView.completeDisplay) {
diff --git a/YuMi/Modules/YMMine/View/SubViews/CPLevelUpAnimation.m b/YuMi/Modules/YMMine/View/SubViews/CPLevelUpAnimation.m
index f5243b4b..e0f53a17 100644
--- a/YuMi/Modules/YMMine/View/SubViews/CPLevelUpAnimation.m
+++ b/YuMi/Modules/YMMine/View/SubViews/CPLevelUpAnimation.m
@@ -24,6 +24,14 @@
@implementation CPLevelUpAnimation
+- (void)dealloc
+{
+ if (_endPlayTimer) {
+ [self.endPlayTimer invalidate];
+ self.endPlayTimer = nil;
+ }
+}
+
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
[self addSubview:self.backgroundSvga];
@@ -99,27 +107,30 @@
NSString *relationship = @"";
switch (level) {
case 1:
- relationship = @"Dup CP";
+ relationship = @"Sweet Duo";
break;
case 2:
- relationship = @"Best Friends";
+ relationship = @"Dynamic Duo";
break;
case 3:
- relationship = @"Soulmates";
+ relationship = @"Ideal Duo";
break;
case 4:
- relationship = @"Soulmates";
+ relationship = @"Ideal Duo";
break;
case 5:
- relationship = @"Soulmates";
+ relationship = @"Perfect Duo";
+ break;
+ case 6:
+ relationship = @"Divine Couple";
break;
default:
- relationship = @"Moli Star";
+ relationship = @"Cosmic Soulmates";
break;
}
// 构造文本内容
- NSString *fullText = [NSString stringWithFormat:@"%@ and %@ Become %@", name_1, name_2, relationship];
+ NSString *fullText = [NSString stringWithFormat:@"%@ %@ %@ %@ %@", name_1, YMLocalizedString(@"RoomEffect_CP_0"), name_2, YMLocalizedString(@"RoomEffect_CP_1"), relationship];
// 创建可变的 attributed string
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:fullText];
@@ -154,7 +165,7 @@
- (void)startTimer {
@kWeakify(self);
- NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:3 repeats:NO block:^(NSTimer * _Nonnull timer) {
+ self.endPlayTimer = [NSTimer scheduledTimerWithTimeInterval:30 repeats:NO block:^(NSTimer * _Nonnull timer) {
@kStrongify(self);
[self removeFromSuperview];
[self.backgroundSvga stopAnimation];
diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m
index 9521bf7f..4e5ab312 100644
--- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m
+++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m
@@ -670,16 +670,24 @@ return view;\
- (void)setRelationUser:(RelationUserVO *)relationUser {
_relationUser = relationUser;
+ BOOL hideCPAvatarContent = NO;
if (relationUser.showCpAvatar) {
- self.avatarView_cp.hidden = [relationUser isEmptyRelation];
- self.cpAvatarHeart.hidden = [relationUser isEmptyRelation];
- self.cpAvatarFlag.hidden = [relationUser isEmptyRelation];
+ hideCPAvatarContent = [relationUser isEmptyRelation];
} else {
- self.avatarView_cp.hidden = YES;
- self.cpAvatarHeart.hidden = YES;
- self.cpAvatarFlag.hidden = YES;
+ hideCPAvatarContent = YES;
}
+ if (hideCPAvatarContent) {
+ [self.headWearSvgaImageView_cp stopAnimation];
+ } else {
+ [self playCPSVGA:relationUser.cpLevel];
+ }
+
+ self.avatarView_cp.hidden = hideCPAvatarContent;
+ self.cpAvatarHeart.hidden = hideCPAvatarContent;
+ self.cpAvatarFlag.hidden = hideCPAvatarContent;
+ self.headWearSvgaImageView_cp.hidden = hideCPAvatarContent;
+
self.cpCard.isListItem = NO;
self.cpCard.usersAvatar = self.userInfo.avatar;
[self.cpCard updateForUserPage:relationUser];
@@ -688,7 +696,7 @@ return view;\
NSString *imagePath = [NSString stringWithFormat:@"cp_avatar_flag_lv_%ld", relationUser.cpLevel];
self.cpAvatarFlag.image = kImage(imagePath);
- [self playCPSVGA:relationUser.cpLevel];
+
}
- (void)updateNameAndGenderInfo {
@@ -709,8 +717,16 @@ return view;\
- (void)updateIDInfo {
NSString *text = [NSString stringWithFormat:@"%ld", (long)self.userInfo.erbanNo];
- self.idLabel.text = [NSString stringWithFormat:@"ID:%@", text];
- self.beautIDView.num = text;
+
+ if (self.userInfo.hasPrettyErbanNo) {
+ self.idLabel.hidden = YES;
+ self.beautIDView.hidden = NO;
+ self.beautIDView.num = text;
+ } else {
+ self.idLabel.hidden = NO;
+ self.beautIDView.hidden = YES;
+ self.idLabel.text = [NSString stringWithFormat:@"ID:%@", text];
+ }
}
- (void)updateLocateAndRegionInfo {
@@ -728,8 +744,6 @@ return view;\
- (void)updateSignatureInfo {
self.signatureLabel.text = _userInfo.userDesc.length > 0 ? self.userInfo.userDesc : YMLocalizedString(@"XPMineUserInfoHeaderView6");
-// [self.signatureLabel setTextColor:self.userInfo.userDesc.length > 0 ? UIColorFromRGB(0x1a1a1a) : UIColorRGBAlpha(0x1a1a1a, 0.6)];
-// [self.signatureLabel setFont:self.userInfo.userDesc.length > 0 ? [UIFont systemFontOfSize:12 weight:UIFontWeightMedium] : [UIFont systemFontOfSize:12 weight:UIFontWeightRegular]];
}
- (void)updateRelationShipInfo {
@@ -753,21 +767,6 @@ return view;\
- (void)playSVGA:(NSString *)svgaUrlString {
[self.headWearSvgaImageView setImageName:svgaUrlString];
- return;
-
- @kWeakify(self);
- SVGAParser * parser = [[SVGAParser alloc]init];
- NSURL *url = [NSURL URLWithString:svgaUrlString];
- [parser parseWithURL:url
- completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
- @kStrongify(self);
- self.headWearSvgaImageView.hidden = NO;
- self.headWearSvgaImageView.loops = 0;
- self.headWearSvgaImageView.clearsAfterStop = NO;
- self.headWearSvgaImageView.videoItem = videoItem;
- [self.headWearSvgaImageView startAnimation];
- }
- failureBlock:^(NSError * _Nullable error) {}];
}
- (void)playCPSVGA:(NSInteger)level {
@@ -781,6 +780,8 @@ return view;\
inBundle:[NSBundle mainBundle]
completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
@kStrongify(self);
+ self.headWearSvgaImageView.hidden = NO;
+ self.headWearSvgaImageView_cp.hidden = NO;
self.headWearSvgaImageView.videoItem = videoItem;
[self.headWearSvgaImageView startAnimation];
self.headWearSvgaImageView_cp.videoItem = videoItem;
diff --git a/YuMi/Modules/YMRoom/View/MenuContainerView/XPRoomMenuContainerView.m b/YuMi/Modules/YMRoom/View/MenuContainerView/XPRoomMenuContainerView.m
index d6505dab..21d22d46 100644
--- a/YuMi/Modules/YMRoom/View/MenuContainerView/XPRoomMenuContainerView.m
+++ b/YuMi/Modules/YMRoom/View/MenuContainerView/XPRoomMenuContainerView.m
@@ -542,8 +542,11 @@
_inputButton.titleLabel.numberOfLines = 2;
_inputButton.layer.masksToBounds = YES;
_inputButton.layer.cornerRadius = 18;
- // 设置标题左对齐
- _inputButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
+ if (isMSRTL()) {
+ _inputButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
+ } else {
+ _inputButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
+ }
// 设置标题的边距
_inputButton.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
_inputButton.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
diff --git a/YuMi/Tools/NSString/NSString+Utils.m b/YuMi/Tools/NSString/NSString+Utils.m
index 420c33d6..52d2aa4e 100644
--- a/YuMi/Tools/NSString/NSString+Utils.m
+++ b/YuMi/Tools/NSString/NSString+Utils.m
@@ -74,8 +74,8 @@
NSDecimalNumber *thousand = [NSDecimalNumber decimalNumberWithString:@"1000"];
NSDecimalNumber *nine = [NSDecimalNumber decimalNumberWithString:@"9999"];
NSDecimalNumber *million = [NSDecimalNumber decimalNumberWithString:@"1000000"];
- NSDecimalNumber *billion = [NSDecimalNumber decimalNumberWithString:@"1000000"];
-
+ NSDecimalNumber *billion = [NSDecimalNumber decimalNumberWithString:@"1000000000"];
+ NSDecimalNumber *trillion = [NSDecimalNumber decimalNumberWithString:@"1000000000000"];
// 创建 NSDecimalNumber 对象
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:string];
@@ -91,9 +91,14 @@
// 超过 1000000,用M表示
NSDecimalNumber *result = [number decimalNumberByDividingBy:million];
return [self formatResult:result withUnit:@"M"];//[NSString stringWithFormat:@"%.1fM", result.doubleValue];
- } else {
+ } else if ([number compare:billion] != NSOrderedAscending && [number compare:trillion] == NSOrderedAscending) {
+ // 超过十亿,用 B 表示
NSDecimalNumber *result = [number decimalNumberByDividingBy:billion];
- return [self formatResult:result withUnit:@"M"];
+ return [self formatResult:result withUnit:@"B"];
+ } else {
+ // 超过一万亿,可以继续增加更高单位
+ NSDecimalNumber *result = [number decimalNumberByDividingBy:trillion];
+ return [self formatResult:result withUnit:@"T"]; // T 表示万亿 (Trillion)
}
}
diff --git a/YuMi/ar.lproj/Localizable.strings b/YuMi/ar.lproj/Localizable.strings
index c5f7c592..6a10cd5b 100644
--- a/YuMi/ar.lproj/Localizable.strings
+++ b/YuMi/ar.lproj/Localizable.strings
@@ -3908,3 +3908,18 @@ ineHeadView12" = "الحمل";
"Combo_8" = "، وربح عملات معدنية";
"Combo_9" = "مرة";
"Combo_10" = "هل أنت متأكد أنك تريد الذهاب إلى هذه الغرفة؟";
+
+"UserDetail_0" = "النقابة";
+"UserDetail_1" = "نيك النقابة";
+"UserDetail_2" = "معرّف النقابة:";
+"UserDetail_3" = "معرّف العميل";
+"UserDetail_4" = "CP";
+"UserDetail_5" = "المعيشة";
+"UserDetail_Setting_0" = "عرض الرسوم المتحركة للصفحة الرئيسية - CP";
+"UserDetail_Setting_1" = "عرض الصور الرمزية للصفحة الرئيسية- CP";
+"UserDetail_CP_List_0" = "تحتاج إلى %@ للترقية";
+"UserDetail_CP_Toast_0" = "نصيحة";
+"UserDetail_CP_Toast_1" = "هل أنت متأكد من أنك تريد إنفاق %@ قطعة نقدية لإلغاء CP الخاص بك مع %@؟";
+"UserDetail_CP_Toast_2" = "لقد نجحت في إلغاء CP الخاص بك مع %@.";
+"RoomEffect_CP_0" = "and";
+"RoomEffect_CP_1" = "have become";
diff --git a/YuMi/en.lproj/Localizable.strings b/YuMi/en.lproj/Localizable.strings
index b0ec284c..42f31910 100644
--- a/YuMi/en.lproj/Localizable.strings
+++ b/YuMi/en.lproj/Localizable.strings
@@ -3704,3 +3704,18 @@
"Combo_8" = "win coins";
"Combo_9" = "times";
"Combo_10" = "Are you sure you want to go to this room?";
+
+"UserDetail_0" = "Guild";
+"UserDetail_1" = "Guild Nick:";
+"UserDetail_2" = "Guild ID:";
+"UserDetail_3" = "Agent ID:";
+"UserDetail_4" = "CP";
+"UserDetail_5" = "Living";
+"UserDetail_Setting_0" = "Homepage animation display-CP";
+"UserDetail_Setting_1" = "Homepage avatars display-CP";
+"UserDetail_CP_List_0" = "Need %@ to upgrade";
+"UserDetail_CP_Toast_0" = "Tips";
+"UserDetail_CP_Toast_1" = "Are you sure you want to spend %@ coins to cancel your CP with %@?";
+"UserDetail_CP_Toast_2" = "You have successfully cancelled your CP with %@.";
+"RoomEffect_CP_0" = "and";
+"RoomEffect_CP_1" = "have become";
diff --git a/YuMi/zh-Hans.lproj/Localizable.strings b/YuMi/zh-Hans.lproj/Localizable.strings
index 19b5efb1..80adfa47 100644
--- a/YuMi/zh-Hans.lproj/Localizable.strings
+++ b/YuMi/zh-Hans.lproj/Localizable.strings
@@ -3368,3 +3368,20 @@
"Combo_8" = "贏得金幣";
"Combo_9" = "倍";
"Combo_10" = "你確定要去這個房間嗎?";
+
+"UserDetail_0" = "公会信息";
+"UserDetail_1" = "公会昵称:";
+"UserDetail_2" = "公会ID:";
+"UserDetail_3" = "公会长ID:";
+"UserDetail_4" = "CP";
+"UserDetail_5" = "直播";
+"UserDetail_Setting_0" = "CP主页动效";
+"UserDetail_Setting_1" = "CP主页头像";
+"UserDetail_CP_List_0" = "需要 %@ 到下一级";
+"UserDetail_CP_Toast_0" = "提示";
+"UserDetail_CP_Toast_1" = "你确定要花 %@ 金币解除与 %@ 的CP关系?";
+"UserDetail_CP_Toast_2" = "你已经成功解除和 %@ 的CP。";
+//"RoomEffect_CP_0" = "和";
+//"RoomEffect_CP_1" = "已经成为";
+"RoomEffect_CP_0" = "and";
+"RoomEffect_CP_1" = "have become";
diff --git a/YuMi/zh-Hant.lproj/Localizable.strings b/YuMi/zh-Hant.lproj/Localizable.strings
index e4e89040..a4555b66 100644
--- a/YuMi/zh-Hant.lproj/Localizable.strings
+++ b/YuMi/zh-Hant.lproj/Localizable.strings
@@ -3361,3 +3361,20 @@
"Combo_9" = "倍";
"Combo_10" = "你確定要去這個房間嗎?";
+"UserDetail_0" = "公會";
+"UserDetail_1" = "公會暱稱:";
+"UserDetail_2" = "公會 ID:";
+"UserDetail_3" = "公會長 ID:";
+"UserDetail_4" = "CP";
+"UserDetail_5" = "直播";
+"UserDetail_Setting_0" = "主頁CP進場動效";
+"UserDetail_Setting_1" = "主頁CP頭像";
+"UserDetail_CP_List_0" = "需要 %@ 升級";
+"UserDetail_CP_Toast_0" = "提示";
+"UserDetail_CP_Toast_1" = "您確定要花 %@ 金幣來取消您与 %@ 的 CP 嗎?";
+"UserDetail_CP_Toast_2" = "你已经成功解除和 %@ 的CP。";
+//"RoomEffect_CP_0" = "和";
+//"RoomEffect_CP_1" = "已經成為";
+"RoomEffect_CP_0" = "and";
+"RoomEffect_CP_1" = "have become";
+