【问题标题】:How to transalte messages that comes from server in react native app如何在反应本机应用程序中翻译来自服务器的消息
【发布时间】:2021-05-30 22:41:30
【问题描述】:

我正在构建一个以西班牙语作为默认语言的 react-native 应用程序,问题是我正在使用开源后端服务来提供数据,而这些数据默认是英文的。我想要的是在我的 react-native 应用程序中翻译来自服务器的这些数据/消息,以向用户显示西班牙语而不是英语的消息。

这是我第一次执行此过程,我不清楚这种过程通常遵循哪些步骤或流程(在我的应用程序中翻译来自服务器的消息)。

【问题讨论】:

    标签: reactjs react-native internationalization


    【解决方案1】:

    你有很多方法来处理这样一个问题

    1. 捕获错误/api 响应消息,其中大多数服务器错误消息来自代码和消息。
    2. 如果代码等于 2 则设置条件语句,例如表示服务器已关闭

    示例: 您向服务器发出请求,服务器出现错误让说错误的用户名和密码,现在服务器返回一条消息和一个错误代码,您必须获取代码或消息并显示您自己的消息

    .....made the request the server returned 
    { code: 192, message: Wrong username/Password }
    
    now in your code you will do the following 
    
    if(code == 192){
      ...do your message
    }
    

    P.S 这只是我的想法,因为你没有分享任何来自你的服务器的代码或响应。

    更新:

    如果你想翻译来自服务器的所有字符串/消息,你需要做另一个类似这样的方法

    1. 创建一个包含来自服务器的所有字符串/代码的文件

    2. 比较来自服务器的消息/代码,文件将返回您想要的文本

      { "102": "Hola", "103": "Bien", "104": "Nada", "105": "Si", }

    现在此文件包含错误/消息代码,您只需在收到代码时从该文件中获取消息

    let translation = {
      "101": "Hola",
      "102":"Si"
    };
    translation["102"]; // Result will be Si
    

    现在这是最准确的方法,但您必须知道所有消息/代码都来自服务器,现在如果您想即时翻译某些内容,您可能想要使用翻译库,但翻译可能不准确

    【讨论】:

    • 我在谈论更多关于国际化过程,请记住,不仅来自服务器的错误消息还有其他类型的字符串或消息,根据您的方法,我必须检查每条消息来自服务器并以某种条件对其进行验证以验证消息的类型并因此对其进行翻译……这是我从您的回答中可以理解的。
    • 我的回答是基于您的问题“消息将 API 响应称为错误或其他后端字符串/消息。”
    • 好的,让我解释一下,我想要翻译来自服务器的任何消息,因为正如我在问题中提到的,服务器返回的所有字符串都是英文和我想要的是用西班牙语向用户显示这些消息。
    • 所以基于此,您需要知道来自服务器的消息是什么,否则您需要使用不推荐的翻译服务,因为您必须将翻译发送到服务器才能像谷歌一样翻译翻译并等待响应
    • 有没有办法使用像react-intl 这样的国际化库或类似的东西来完成这个过程?正如我之前提到的,我不太清楚国际化过程以及这种库是否可以帮助我解决应用程序中的翻译问题。
    猜你喜欢
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2011-01-20
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    相关资源
    最近更新 更多