Minishowcase-AJAX/PHP开源相册解决中文翻译和中文乱码问题

最近因為方便部门同事分享照片,希望能越簡單越好,因此找到了 Minishowcase

几乎不需要安装,只要将代码和照片上传就可以拥有一个网络相册。

解决方案:http://at.u41.tw/2010/05/minishowcase -ajaxphp.html

特点:简单,使用lightbox显示,自动缩图

问题:没有中文语言包,直接使用中文会有乱码,中文图片无法产生缩图

看了demo后,觉得不错,于是动手改造。

第一步,制作简体中文语言包 cn.php

< ?php $lang["menu_title"] = “ECD部门相册”; $lang["menu_guide"] = “从左边菜单栏选择相册浏览”; $lang["lightbox_back"] = “返回相册”; $lang["alert_title"] = “警告”; $lang["alert_dismiss"] = “点此关闭”; $lang["alert_no_images"] = “这部相册中没有图片”; $lang["alert_enlarge"] = “点击图片放大”; $lang["alert_browser_error"] = “请使用IE8,Chrome,Firefox3浏览本相册”; $lang["loading_menu"] = “相册信息读取中”; $lang["loading_thumbs"] = “图片载入中”; $lang["loading_image"] = “图片”; $lang["loading_of"] = “of”; $lang["loading_title"] = “加载图片”; $lang["gallery_reload"] = “重新加载”; $lang["slideshow_pause"] = “暂停”; $lang["slideshow_resume"] = “resume”; $lang["slideshow_name"] = “幻灯片”; $lang["tools_title"] = “工具”; $lang["tools_show"] = “展示”; $lang["tools_hide"] = “隐藏”; $lang["slideshow_change_slide"] = “变换图片每”; $lang["slideshow_seconds"] = “秒”; $lang["permalink"] = “固定链接”; ?>

第二步,解决乱码问题
檔案 libraries/ajax.init.js (接近末端,更改JavaScript編碼使用的函數)
後頭使用的unescape()函式換成decodeURIComponent()函式。在199行左右。
echo “lang['gallery_name_prepend'] = “;
- echo “unescape(‘”.$settings['gallery_name_prepend'].”‘);/n/t”;
+ echo “decodeURIComponent(‘”.$settings['gallery_name_prepend'].”‘);/n/t”;
echo “lang['gallery_name_append'] = “;
- echo “unescape(‘”.$settings['gallery_name_append'].”‘);/n/n/t”;
+ echo “decodeURIComponent(‘”.$settings['gallery_name_append'].”‘);/n/n/t”;
foreach ($lang as $key=>$val) {
- echo “lang['".$key."'] = unescape(‘”.enc($val).”‘);/n/t”;
+ echo “lang['".$key."'] = decodeURIComponent(‘”.enc($val).”‘);/n/t”;
}

第三步、解決縮圖不出來。
檔案 libraries/thumbs.display.php
把裡面的 htmlentities() 函式換成 htmlspecialchars() 函式。

第四步、更改系統設定。
檔案 config/setting.php
語言設定:
$settings['set_language'] = ‘zh’;
其他部分就斟酌修改啦!
像是$settings['gallery_title'](相簿標題)、$settings['gallery_default_name'](預設相 簿)、$settings['gallery_footer'](相簿頁尾)、$settings['gallery_name_prepend'](相 簿名稱前贅)、$settings['gallery_name_append'] (相簿名稱後贅)是一般通常會設定的!
(選擇性)自動縮圖。
大張圖的縮圖是不會自動做的,要進到 galleries/?thumbnails 才會~
如果想要自動做,不透過它,再做下方修改。
把 66~68 行的設定前贅詞往後移插入 203 行。(因為要加入的判斷影像大小的程式碼在其後)。
[66]-$_prefix = ($pic)
[67]- ? $settings['image_prefix']
[68]- : $settings['thumbnail_prefix'];
[69]-
[70]// image is square?

[203]+$_prefix = ($pic)
[203]+ ? $settings['image_prefix']
[203]+ : $settings['thumbnail_prefix'];
[203]+
[203] cache images (if enabled)
[204]$current_gallery = array_pop(split(“/”, dirname($img)));
接著在116行加入判斷影像大小決定要縮圖的程式碼。(前面有做的話會往前移,少了四行在112行)
[115]$th_h = $img_info[1];
[116]+if (($settings['cache_images'] == true;)
[116]+ && ($th_w > $settings['cache_image_size']
[116]+ || $th_h > $settings['cache_image_size'])) {
[116]+ $pic = true;
[116]+ $img_maxsize = $settings['cache_image_size'];
[116]+ }
[116]$move_w = $move_h = 0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值