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