一款為iOS、Mac 開發(fā)者開發(fā)的翻譯軟件(JFFanYi)

一、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開發(fā)時突然想寫的小東西,當然設想的功能遠比這個強大,只是最近比較忙,就先實現(xiàn)了簡單的翻譯功能,后面有時間再完善,代碼已開源,有興趣的小伙伴也可以添加自己的小功能。當然如果你英文特別好自然用不上JFFanYi,但萬一腦袋抽風了,還是值得一用的東西,代碼和功能都很簡單,不喜勿噴!當然也歡迎小伙伴們突出新的功能需求,后期會整理,慢慢加上,謝謝!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容