美文网首页iOS 实用技术移动开发iOS之MAC端开发
一款为iOS、Mac 开发者开发的翻译软件(JFFanYi)

一款为iOS、Mac 开发者开发的翻译软件(JFFanYi)

作者: zhifenx | 来源:发表于2017-04-15 13:25 被阅读1588次

一、JFFanYi:

v0.1.1版本更新提示:

  • 添加智能复制选项;
  • 添加翻译模式切换;
  • 添加清空按钮;

1、JFFanYi是一款极其简单轻便的中英翻译软件,可翻译驼峰格式的英文语句、带有苹果特有前缀的字符串,最主要的是可以将中文句子转换成驼峰格式的英文语句,其可直接作为方法名使用,其翻译结果默认(可选)复制到粘贴板,可直接粘贴使用。
2、这里下载JFFanYi.dmg,直接安装到你的苹果电脑上,源码可以在我的Github上下载:JFFanYi源码,编译运行源码前,应先pod install
3、示例:

中英翻译.png 移除NS前缀并进行驼峰语句翻译.png 中文翻译成驼峰格式英文.png 正常中英翻译.png 不带前缀驼峰格式翻译.png

友情提示:翻译的结果默认复制到粘贴板,直接粘贴使用即可,无需复制再粘贴。当然也可以取消智能复制!

二、核心源码:

//移除前缀
+ (NSString *)removeThePrefix:(NSString *)string {
    NSInteger index;
    for (index = 0; index < string.length; index ++) {
        char word = [string characterAtIndex:index];
        while (islower(word)) {
            if (index >= 2) {
                string = [string stringByReplacingCharactersInRange:NSMakeRange(0, index - 1) withString:@""];
            }
            return string;
        }
    }
    return string;
}
//驼峰格式转普通格式
+ (NSString *)humpStringToCommonString:(NSString *)string {
    if ([self isChinese:string]) {
        return string;
    }
    NSString *newString = [self removeThePrefix:string];
    NSMutableArray *newStringArray = [[NSMutableArray alloc] init];
    //遇到大写字母将前一个单词添加到数组中
    NSUInteger oldIndex = 0;
    for (NSUInteger index = 0; index < newString.length; index ++) {
        char word = [newString characterAtIndex:index];
        if (isupper(word)) {
            NSUInteger i = index - oldIndex;
            NSString *word = [newString substringWithRange:NSMakeRange(oldIndex, i)];
            [newStringArray addObject:word];
            oldIndex = index;
        }
    }
    //将最后一个单词添加到数组中
    NSUInteger i = newString.length - oldIndex;
    [newStringArray addObject:[newString substringWithRange:NSMakeRange(oldIndex, i)]];
    //将字符数组转换成字符串,每个单词间添加空格
    newString = [newStringArray componentsJoinedByString:@" "];
    return newString;
}
//普通格式转驼峰格式
+ (NSString *)commonStringToHumpString:(NSString *)string {
    if ([self isChinese:string]) {
        return string;
    }
    //字符串中每个单词首字母大写
    NSString *tempString = [string capitalizedString];
    //分隔成数组
    NSArray *words = [tempString componentsSeparatedByString:@" "];
    //去掉空格
    tempString = [words componentsJoinedByString:@""];
    //转成驼峰格式
    NSMutableString *humpString = [[NSMutableString alloc] initWithString:tempString];
    //首字母小写
    NSString *change = [NSString stringWithFormat:@"%c",[tempString characterAtIndex:0] + 32];
    [humpString replaceCharactersInRange:NSMakeRange(0, 1) withString:change];
    return humpString;
}
//判断是否是全汉字字符串
+ (BOOL)isChinese:(NSString *)string {
    NSString *regex = @"[\u4e00-\u9fa5]+";
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return [predicate evaluateWithObject:string];
}

三、总结:
这个JFFanYi翻译,仅仅是自己在学Mac开发时突然想写的小东西,当然设想的功能远比这个强大,只是最近比较忙,就先实现了简单的翻译功能,后面有时间再完善,代码已开源,有兴趣的小伙伴也可以添加自己的小功能。当然如果你英文特别好自然用不上JFFanYi,但万一脑袋抽风了,还是值得一用的东西,代码和功能都很简单,不喜勿喷!当然也欢迎小伙伴们突出新的功能需求,后期会整理,慢慢加上,谢谢!

相关文章

网友评论

  • 柴家二少001: @zhifenx 点击 dmg 镜像文件 安装没反应 啊 没有弹出拖拽安装的那一步
    zhifenx:@柴亚航 我又打包了一个,你再试试!
    柴家二少001:@zhifenx 好的,谢谢:pray::blush:
    zhifenx:@柴亚航 好的,我晚上回去再测试一下!
  • 苜蓿鬼仙:双击不能弹出安装界面
    zhifenx:@苜蓿鬼仙 不应该啊,你电脑系统版本是?
    苜蓿鬼仙:@zhifenx 双击没有弹出任何东西
    zhifenx:@苜蓿鬼仙 双击dmg文件后会出现一个卷轴,你再双击它打开即可安装!
  • 指尖书法:好东西,感谢
  • Jody526:直接下载dmg就能用了吗?为什么一直打不开dmg 点了没反应
    zhifenx:@桀杉 不应该啊 双击dmg后 桌面上会出现一个卷轴 双击它进去 就可以看到安装提示
  • mf168:马克
  • 205aea138092:下载用了下~界面简单,轻巧能用,不蹦!
  • 不隔山::+1: ,希望可以有 Alfred Workflow :smile:
  • 1a83a196ac73:求教作者,macXcode工程,怎么做成dmg镜像文件啊。谢谢
    1a83a196ac73:@zhifenx 明白了
    zhifenx:@孟庆鑫 http://www.tuicool.com/articles/z6naMvZ 你看下这个 如果不清楚 再问我吧
  • eb4d28077e08:好东西
  • 30a43be95609:强烈吱吱
  • 979c57c43c7c:好文章

本文标题:一款为iOS、Mac 开发者开发的翻译软件(JFFanYi)

本文链接:https://www.haomeiwen.com/subject/febgattx.html