Android、iOS快速全球化工具

这篇具有很好参考价值的文章主要介绍了Android、iOS快速全球化工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

动机

在进行移动端全球化的时候,我们需要根据语言类型准备格式相同,文本不同的好多个文件,如果一个一个翻译显然很浪费时间,如果整篇复制到Google翻译通常翻译出来的文本是没办法直接用的,所以我通过有道云API实现了一个翻译iOS全球化文件的工具类。Android可以重写文本匹配的部分。

使用方法

直接修改两个文件的路径就可以了。需要注意有道云的API据说一分钟限制请求1000次,超了的话等明天应该就可以用了。

package test;

import okhttp3.*;
import org.json.JSONArray;
import org.json.JSONObject;

import java.io.*;

/**
 * 全球化快速翻译工具
 */
public class test {

    public static void main(String[] args) {
        String inputFile = "/Users/topjoy/git/GoogleDemo/ZeusServer/src/main/java/test/FCLocalizable.strings";
        String outputFile = "/Users/topjoy/git/GoogleDemo/ZeusServer/src/main/java/test/FCLocalizable2.strings";

        try {
            // 打开输入文件
            BufferedReader reader = new BufferedReader(new FileReader(inputFile));

            // 创建输出文件
            BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));

            // 逐行读取输入文件内容
            String line;
            while ((line = reader.readLine()) != null) {
                // TODO 根据IOS或Android,重写这里的匹配代码,这里为iOS示例
                String[] parts = line.split("=");
                if(!line.contains("=")){
                    // 写入新的行到输出文件
                    writer.write(line);
                    writer.newLine();
                    continue;
                }
                String b = parts[1].trim().replace("\"", "").replace(";", "");

                // 使用翻译方法生成新的字符串
                String finalLine = line;
                String translatedStr = translateString(b);
                if (finalLine.contains("%")){
                    System.out.printf("此字符串存在特殊符号\n");
                }else{
                    System.out.printf(b + " --> " + translatedStr + "\n");
                }
                
                // 替换原始字符串中的b
                String newLine = finalLine.replace(b, translatedStr.isEmpty() ? b : translatedStr);

                // 写入新的行到输出文件
                writer.write(newLine);
                writer.newLine();

            }

            // 关闭文件
            reader.close();
            writer.close();

            System.out.println("替换完成并生成备份文件。");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 文本翻译方法
     * 示例为有道云翻译API,使用时根据自己的API进行修改
     * @param inputStr       待翻译文本
     * @return               翻译文本
     * @throws IOException   IO异常
     */
    public static String translateString(String inputStr) throws IOException {
        // 根据具体需求实现你的翻译逻辑

        String url = "http://fanyi.youdao.com/translate"+"?&doctype=json&type=EN2ZH-CHT&i="+inputStr;
        OkHttpClient client = new OkHttpClient();

        // 翻译服务不需要加密
        Request request = null;
        Request.Builder builder = new Request.Builder()
                .url(url)
//                .addHeader("Signature", getSignature(date, target, inputStr))
//                .addHeader("Date", date)
//                .addHeader("timestamp", date)
                .get();
        request = builder.build();

        Response response = client.newCall(request).execute();
        String resp = "";
        ResponseBody responseBody = response.body();
        if (responseBody != null && response.isSuccessful() && !responseBody.toString().isEmpty())
            resp = responseBody.string();
        System.out.printf(resp+"\n");
        JSONObject jsonObject = new JSONObject(resp);
        JSONArray array = jsonObject.optJSONArray("translateResult");
        if (array == null){
            return "";
        }
        JSONArray array1 = array.optJSONArray(0);
        if (array1 == null){
            return "";
        }
        JSONObject jsonObject1 = array1.optJSONObject(0);
        if (jsonObject1 == null){
            return "";
        }
        String tgt = jsonObject1.optString("tgt");
        if (!tgt.isEmpty()){
            return tgt;
        }
        return "";
    }
}

完成

Android、iOS快速全球化工具文章来源地址https://www.toymoban.com/news/detail-518691.html

到了这里,关于Android、iOS快速全球化工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android/iOS性能测试工具-SoloX

    SoloX - Android/iOS性能数据实时采集工具。支持收集被测应用CPU、内存、FPS、流量等性能数据,进行图表化展示。 官网:GitHub - smart-test-ti/SoloX: SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performanceiOS性能测试ios performance移动端性能测试mobile perform

    2024年02月03日
    浏览(39)
  • FFmpeg工具进行快速的视频拼接

    用FFmpeg工具对视频进行处理,FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。 下载FFmpeg视频工具。 直接搜索下载,根据电脑选择不同的资源。 下载完解压,可以解压到任何盘,可以改一下文件夹名称。 这种先要设置环境变量 先找到

    2024年02月02日
    浏览(33)
  • SoloX - Android/iOS性能数据实时采集工具

      SoloX是一个可以实时收集Android/iOS性能数据的web工具。 快速定位分析性能问题,提升应用的性能和品质。 无需ROOT/越狱,即插即用。 主要特点: 无需ROOT/越狱 : Android设备无需Root,iOS设备无需越狱。有效解决Android和iOS性能的测试和分析挑战。 数据完整性 :我们提供CP

    2024年04月11日
    浏览(38)
  • iOS 开发之使用苹果测试工具 TestFlight (进行内部和外部测试)

    一、测试工具介绍: 1、TestFlight是苹果公司在iOS8,Xcode6推出来的新工具,用于将App beta版本进行流水化测试。TestFlight整合进了Appstore Connect,你可以通过电子邮件来邀请你的Beta测试成员,并且允许用户在app上架前做一个上架前的beta版测试。 二、内部测试操作步骤: 1、使用手

    2024年02月13日
    浏览(43)
  • SoloX:Android和iOS性能数据的实时采集工具

    SoloX :Android和iOS性能数据的实时采集工具 github地址: https://github.com/smart-test-ti/SoloX 最新版本: V2.7.6 一、SoloX简介 SoloX 是开源的Android/iOS性能数据的实时采集工具,目前主要功能特点: 无需ROOT/越狱:  Android设备无需ROOT,iOS设备无需越狱。高效解决Android iOS性能测试分析难

    2024年02月07日
    浏览(34)
  • Cypress.io:快速简单可靠的浏览器测试工具 | 开源日报 No.142

    Stars: 45.5k License: MIT Cypress.io 是一个快速、简单和可靠的浏览器测试工具,可以用于任何在浏览器中运行的内容。它支持 Mac、Linux 和 Windows 系统,并提供了安装指南。 Stars: 4.1k License: GPL-3.0 DeskHop 是一个快速切换桌面的设备,它允许用户通过键盘快捷键或鼠标指针在不同操作系

    2024年01月25日
    浏览(53)
  • 不会代码(实操能力弱一点)的我如何快速开发出一个Android/Web/IOS/小程序

    像做PPT一样的可视化编程语言你想拥有吗,可以自己尝试一下。 像PPT一样的编程语言 抽象出超过200+前端和后台原子组件,每个组件都具备“不可拆分”特性,并表达独立具有特征的属性;同时每个组件都具备“属性”“触发条件”“功能(函数)”。 逻辑编辑框架:(专利

    2024年02月09日
    浏览(92)
  • 利用Path工具在Plant Simulation快速进行agv路径规划

    之前小伙伴在问B站上有个AGV遇到障碍动态调整路线的视频是如何实现的。波哥花了点时间实现了一下,说一下思路: 1. 在Plant Simulation里面实现任意一个路径规划算法(A*、D*、Dijkstra)。 2. 监控agv移动过程中道路情况的变化 3. 判断是否需要重新规划路线即可。 波哥结合之前的

    2024年02月05日
    浏览(54)
  • Google IO 2023推出Android Studio官方AI工具Studio Bot

    在2023 Google I/O大会上,Google 宣布在 Android Studio 中推出了一款名为 Studio Bot 的新 AI 功能,它将为开发者提供更高效、智能的开发体验。Studio Bot 是一个基于机器学习的助手,可以帮助开发者处理重复性的任务,提高开发效率。 其中,Studio Bot 最为强大的功能之一是它能够自动

    2024年02月05日
    浏览(40)
  • 快速教你如何使用postman工具进行接口测试?(配置全局token、JWT可用)

    现在很多人都在使用前后端分离进行项目开发,那在后端开发过程中使用postman测试工具可快速便捷完成接口测试。但是在测试过程中,很多人发现因为JWT的鉴权,导致半个小时就需要更新一下token,让我们的测试变得复杂。 若是将token作为全局变量,每次都能够自动获取tok

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包