Android开发错误:Error:” ” is not translated in “en” (English) [MissingTranslation]处理方法?

转载请注明来源: http://blog.youkuaiyun.com/KjunChen/article/details/50043487

Android开发错误:Error:” ” is not translated in “en” (English) [MissingTranslation]如何处理?


今天(2015/11/25)在Android编译时发现这个错误,见下图

最终在StackOverFlow上找到了解决方法,大概有这么几种方法,现整理如下,供大家参考:

1、尝试添加translatable=”[true / false]”

    <string name="junkchen" translatable="false">Junk Chen!</string>  

2、在resources中添加属性

    <resources 
        xmlns:tools="http://schemas.android.com/tools"
        tools:ignore="MissingTranslation" >

3、指定语言

    <resources 
        xmlns:tools="http://schemas.android.com/tools"
        tools:locale="en" >
    </resources>

4、使用Android studio可以在build.gradle中的android中添加lintOptions

    lintOptions {
        disable 'MissingTranslation'
    }

或者

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

暂时发现这几种方法都可以解决,我都测试通过。

如何任何问题可以加群讨论:Android开发交流群号 365532949
个人网站:http://junkchen.com

参考:
1. http://stackoverflow.com/questions/21118725/error-app-name-is-not-translated-in-af
2. http://stackoverflow.com/questions/11443996/lint-how-to-ignore-key-is-not-translated-in-language-errors

""" Word表格专业术语翻译脚本 功能:识别Word表格中的中文内容,翻译成英文并在原文下方添加翻译(专业术语仅首单词首字母大写) 要求:安装 python-docx, requests """ import re import hashlib import random import requests from docx import Document from docx.shared import Pt, RGBColor from docx.oxml.ns import qn def contains_chinese(text): """检查字符串是否包含中文""" return bool(re.search(r'[\u4e00-\u9fff]', text)) def is_english(text): """检查字符串是否为英文""" return bool(re.match(r'^[a-zA-Z0-9\s.,;:!?\'"-]+$', text)) def is_translated(cell_text): """检查单元格内容是否已翻译""" if '\n' not in cell_text: return False parts = cell_text.split('\n') # 检查最后一部分是否为英文且格式为灰色小字 return len(parts) > 1 and is_english(parts[-1]) def translate_baidu(query, appid, secret_key, from_lang='zh', to_lang='en'): """百度翻译API接口""" url = 'http://api.fanyi.baidu.com/api/trans/vip/translate' salt = random.randint(32768, 65536) sign_str = appid + query + str(salt) + secret_key sign = hashlib.md5(sign_str.encode()).hexdigest() params = { 'q': query, 'from': from_lang, 'to': to_lang, 'appid': appid, 'salt': salt, 'sign': sign } try: response = requests.get(url, params=params, timeout=10) response.raise_for_status() result = response.json() if 'trans_result' in result: return '\n'.join([item['dst'] for item in result['trans_result']]) return "Translation Error" except Exception as e: print(f"翻译错误: {e}") return "Translation Error" def format_translation(text): """ 格式化翻译结果:仅第一个单词首字母大写 保留原有的连字符格式和专有名词大写 """ lines = text.split('\n') formatted_lines = [] for line in lines: words = line.split() if not words: formatted_lines.append('') continue # 仅第一个单词首字母大写(保留原有专有名词大写) processed = [words[0][0].upper() + words[0][1:]] # 后续单词保持原样(不改变大小写) processed.extend(words[1:]) formatted_lines.append(' '.join(processed)) return '\n'.join(formatted_lines) def process_word_document(input_path, output_path, appid, secret_key): """处理Word文档中的表格翻译""" doc = Document(input_path) for table in doc.tables: for row in table.rows: for cell in row.cells: # 跳过空单元格或不含中文的单元格 if not cell.text.strip() or not contains_chinese(cell.text): continue # 检查是否已翻译 if is_translated(cell.text): continue # 翻译中文内容 translated = translate_baidu(cell.text, appid, secret_key) if translated == "Translation Error" or not translated: continue # 格式化翻译结果(仅第一个单词首字母大写) formatted_trans = format_translation(translated) # 在原有文本下方添加翻译 cell.text = f"{cell.text}\n{formatted_trans}" # 设置翻译文本格式(灰色、小一号) for paragraph in cell.paragraphs: for run in paragraph.runs: if run.text == formatted_trans: run.font.size = Pt(9) run.font.color.rgb = RGBColor(128, 128, 128) run.font.name = 'Arial' if hasattr(run.font, 'element'): run.font.element.rPr.rFonts.set(qn('w:eastAsia'), 'Arial') doc.save(output_path) return output_path if __name__ == "__main__": # 配置百度翻译API (需自行申请) BAIDU_APPID = "your_app_id" # 替换为您的百度APP ID BAIDU_SECRET_KEY = "your_secret_key" # 替换为您的百度密钥 # 文件路径 input_file = "input_document.docx" output_file = "translated_document.docx" result_path = process_word_document(input_file, output_file, BAIDU_APPID, BAIDU_SECRET_KEY) print(f"文档处理完成!结果已保存至: {result_path}") 换个python自带的翻译库
最新发布
09-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值