编程语言
首页 > 编程语言> > php – 在多语言(例如英语和法语)应用程序中抛出异常

php – 在多语言(例如英语和法语)应用程序中抛出异常

作者:互联网

在我的应用程序中,我使用Exception来控制流程.

我使用这样的东西:

throw new Exception("Unable to add new user, user already exist");

这种方法在使用一种语言的应用程序中是完美的.但是,当我打算制作多语言应用程序时,我不知道该怎么做.

上一行代码应使用用户正在使用的默认语言生成消息.

什么是可能的解决方案?

解决方法:

一般的解决方案是你有一些设置来指示消息应该显示的当前语言.然后你有一个文件或数据库表(尽管如果有关数据库连接错误的消息存储在数据库中,这可能不太好 – 您希望错误消息尽可能轻松访问 – 最好在应用程序启动时将它们全部加载到某个缓存中)某处包含所有错误字符串,以及多种语言,例如:

userExists.English = "Unable to add new user, user already exist"
userExists.Spanish = "<my Spanish isn't good enough to even try>"
userExists.ClassicalMongolian = ...

然后当你抛出异常时,你会有类似的东西

//currentLanguage indicates what the language of the current session is.
//the function lookupExceptionString must be able to look up the
//correct string based on the value of currentLanguage
exceptionString = lookupExceptionString(currentLanguage);
throw new Exception(exceptionString );

…但幸运的是,有些框架已经做了很多.在网上搜索“php国际化”或“php i18n”,我找到的第一个链接是:

http://php-flp.sourceforge.net/getting_started_english.htm

标签:multilanguage,php,exception-handling,internationalization,multilingual
来源: https://codeday.me/bug/20190726/1543141.html