Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在客户端处理动态错误字符串以实现国际化_Java_Templates_Frameworks - Fatal编程技术网

Java 如何在客户端处理动态错误字符串以实现国际化

Java 如何在客户端处理动态错误字符串以实现国际化,java,templates,frameworks,Java,Templates,Frameworks,我正在REST服务器端工作 在响应客户端时,我将更新HTTP头中的error\u code和error\u消息。 在错误消息为静态之前,这是正常的。 e.g. error_code : PC_USER_007 error_message : You are logged out! 客户端将查看错误代码(PC\U用户\U 007);在相应的属性中,它们将进行本地化。 因此,如果用户属于中国,GUI将以中文向您显示相同的错误消息 如果是如下所示的动态错误字符串 e.g. error

我正在REST服务器端工作

在响应客户端时,我将更新HTTP头中的
error\u code
error\u消息
。 在错误消息为静态之前,这是正常的。

e.g. error_code    : PC_USER_007
     error_message : You are logged out!
客户端将查看
错误代码(PC\U用户\U 007)
;在相应的属性中,它们将进行本地化。 因此,如果用户属于中国,GUI将以中文向您显示相同的错误消息

如果是如下所示的动态错误字符串

e.g. error_code    : PC_USER_008
     error_message : You have tried 2 attempts; only 1 attempts is remaining. 
Here 2, 1 are dynamic values..
现在,我们如何将此错误消息转换为其他语言

是否有任何框架(struts、spring…)已经支持这种本地化

这与问题正好相反


服务器端我遵循了上面的链接;现在我想在客户端使用相反的情况。

让服务器传递完整的错误消息不是很合适

通常,服务器会传递错误代码和一组错误值。e、 g

error_code: PC_USER_008
error_values: "42", "a value"
客户端用多种语言保存该错误代码的模板,如下所示

"This is argument {1} and arg {2}" 
"Ceci est argument {1} et arg {2}"
等等


然后客户端用接收到的值执行占位符{1}…{n}的简单字符串替换

,让服务器传递完整的错误消息不是很合适

通常,服务器会传递错误代码和一组错误值。e、 g

error_code: PC_USER_008
error_values: "42", "a value"
客户端用多种语言保存该错误代码的模板,如下所示

"This is argument {1} and arg {2}" 
"Ceci est argument {1} et arg {2}"
等等


然后客户端用接收到的值执行占位符{1}…{n}的简单字符串替换。通常,如果您处理的是多语言应用程序,您应该在服务器和GUI中使用ID标识文本,并在错误消息字段中使用文本ID。有些框架使用英文文本作为ID。

通常,如果您处理的是多语言应用程序,您应该在服务器和GUI中使用ID来标识文本,并在错误消息字段中使用文本ID。有些框架使用英文文本作为ID。

如果我是您,我会首先将错误代码从HTTP头移动到响应内容的结构中(比如json)。标题没有层次结构,也没有结构。最好在响应中使用适当的状态代码包含它们

至于本地化消息及其模板,我没有遇到任何REST服务返回错误响应而不返回错误消息。例如,看一下(restapi)。它们都返回代码和消息

  • 不返回消息的问题是,您的客户永远不会立即知道问题是什么。这使得调试变得非常困难 更难
  • 客户端也无法访问您稍后引入到服务器代码中的新错误代码,这加强了#1
  • 拒绝使用错误代码或更改其错误消息不再由您控制

  • 实现模板化,但在服务器端执行。要求客户机向您发送标识其区域设置的id。根据区域设置,可以更改错误消息。您的客户端永远不必由于服务器端的更改而更新其代码,并且您将始终向客户端显示正确的本地化消息。

    如果我是您,我会首先将错误代码从HTTP头移动到响应内容中的结构(如json)。标题没有层次结构,也没有结构。最好在响应中使用适当的状态代码包含它们

    至于本地化消息及其模板,我没有遇到任何REST服务返回错误响应而不返回错误消息。例如,看一下(restapi)。它们都返回代码和消息

  • 不返回消息的问题是,您的客户永远不会立即知道问题是什么。这使得调试变得非常困难 更难
  • 客户端也无法访问您稍后引入到服务器代码中的新错误代码,这加强了#1
  • 拒绝使用错误代码或更改其错误消息不再由您控制

  • 实现模板化,但在服务器端执行。要求客户机向您发送标识其区域设置的id。根据区域设置,可以更改错误消息。由于服务器端的更改,您的客户端永远不必更新其代码,您将始终向客户端显示正确的本地化消息。

    在响应头中发送整个错误消息不是一个好做法。您可以发送错误代码,并为这些代码实现特定于语言环境的消息

    在javascript中,请求成功后,使用回调方法跟踪失败响应代码。创建一个bundle以读取特定区域设置用户的不同属性文件,读取键值并显示正确的错误消息

    例:

    在成功请求之后,使用回调方法显示特定于区域设置的错误消息

    问候
    Punith在响应头中发送整个错误消息不是一个好的做法。您可以发送错误代码,并为这些代码实现特定于语言环境的消息

    在javascript中,请求成功后,使用回调方法跟踪失败响应代码。创建一个bundle以读取特定区域设置用户的不同属性文件,读取键值并显示正确的错误消息

    例:

    在成功请求之后,使用回调方法显示特定于区域设置的错误消息

    问候
    Punith

    您可以使用ANTLR并基于所有可能的“动态”错误消息编写某种语法。如果我没有弄错,错误信息总是用英语。然后,您只需要编写语法来捕获诸如“youhavestured”number尝试之类的内容;只剩下“number”尝试了。然后使用antlr,您可以在解析步骤之后访问这些数字并生成您的n