从 CoSign 看开源软件本地化(6)
在《从 CoSign 看开源软件本地化(3)》博文中,我们采用 Apache 内容协商,实现的静态页面本地化。这在当时是没有办法的办法。有点金玉其外,败絮其中的感觉:
- 冗余度增加了,本来保持静态页面和模板的一致性就够头痛的了(因为用户可能需要定制模板),这回又大大增加的静态页面的数量
- 采用 Apache 内容协商,需要更改 Apache 的配置,增加了软件配置的难度
有哪些静态页面呢?
CoSign 2.x 有两个静态页面:looping.html 和 post_error.html。CoSign 3.x 又增加了一个静态页面:validation_error.html。- looping.html: 当发生循环重定向时,跳转到该页面
- post_error.html: 当由于单点登录退出导致应用提交过期导致可能的数据丢失,重定向到该说明页面
- validation_error.html: 当重定向的地址和预设地址不匹配跳转到该警告页面
重新写一个 CGI,提供静态页面显示
既然静态页面要模板化,就必须通过一个程序,对于 CoSign 来说就是 CGI 。 这个新的 CGI 就是 info。- 访问 /cgi-bin/info/looping,就显示循环重定向错误
- 访问 /cgi-bin/info/post_error,就显示应用提交失效错误
- 访问 /cgi-bin/info/validation_error,就显示地址验证错误