Я работаю на стороне сервера REST.Как обрабатывать динамическую строку ошибок на стороне клиента для интернационализации
Я буду обновлять error_code
и error_message
в заголовках HTTP при ответе на клиента. Это нормально, пока error_message не статичен.
e.g. error_code : PC_USER_007
error_message : You are logged out!
на стороне клиента будет смотреть на error_code(PC_USER_007)
; в соответствующих свойствах, и они будут выполнять локализацию. Итак, теперь GUI покажет вам тот же error_message на китайском, если пользователь принадлежит Китаю.
Если это динамическая строка ошибки, как показано ниже,
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..
Теперь GUI сторона, как мы можем преобразовать это сообщение об ошибке на другой язык.
Любые рамки (стойки, пружины ...), уже поддерживающие такую локализацию?
Это как раз напротив вопрос How to replace a set of tokens in a Java String?
стороне сервера я затем ссылку выше; теперь я хочу противоположный случай на стороне клиента.
вы могли бы использовать ANTLR и написать какое-то грамматика на основе всех возможных сообщений об ошибках «Dynamic». если я правильно понял, сообщения об ошибках всегда бывают на английском языке. Тогда вам просто нужно написать грамматику, которая улавливает такие вещи, как «Пробовали попытки« числа », останутся только попытки« числа »». то с помощью antlr вы можете получить доступ к этим номерам после шага синтаксического анализа и создать новую локализованную строку. – ITroubs
Передача полного error_message довольно странная. Обычно сервер передает error_code и набор значений. Затем на стороне клиента у вас есть шаблоны для этого кода ошибки на многих языках, похожих на «Это аргумент {1} и arg {2}", "Ceci est argument {1} et arg {2}" и т. Д. ... и вы заменяете {1} ... {n} с полученными значениями. –
+1 @BGR Теперь у меня есть свет здесь –