
今年5月份寫了一篇《Drupal的多語言網站搭建和設置》,嘗試着用Drupal的多語言功能來搭建網站,後來更是添加了手機版,又記錄了一篇《網站擴展100倍:50種語言x(電腦版+手機版)》,這些設置都成功了,隻是在建立更多的系列網站時依然覺得有些麻煩,經過一段時間的摸索,又積累了一些經驗,讓後面系列網站搭建起來效率更高,按照搭建的步驟,一些地方記錄如下:
系統基本安裝:
- 可從一開始就用drush來安裝:選擇語言、選擇配置、設置數據庫參數、設置更新參數、添加管理員及密碼、設置時區信息等都可以通過簡單的腳本實現;
- 添加更多管理員帳号、關閉匿名用戶注冊權限、開啟mobile主題、設置各種主題中共用的logo和favicon、緩存設置、cron設置等,能用drush的地方盡量用drush來設置;
- 設置模塊,關閉不需要的模塊,下載和安裝需要的模塊,特别是多語言支持所用的i18n及部分子模塊(最初是多數都打開,後來改為隻有需要的幾個打開)、l10n_update翻譯自動更新模塊等,添加50種語言,都可以通過drush來進行設置;
原始數據導入:
- 分析原始數據,對于需要做出分類的字段,在Taxonomy中添加Vocabulary;
- 設置Content Type,整個系列都用一個ALL類型,便于設置和維護管理,添加需要的Field,分類做成Autocomplete Term并與Vocabulary對應,設置full和tease的顯示字段;
- 設置Feeds的來源,上傳導入文件xxx.csv到public://feeds/目錄下,設置mapping關系,注意添加GUID以便以後修改導入,Title可以用ZIP字段,以後通過模闆修改顯示的Title;
- 開始導入數據至結束;
顯示模闆修改:
- 通過在sites/all/themes/bartik中添加node--all.tpl.php來控制頁面顯示,包括full和teaser兩種顯示;
- 通過在sites/all/themes/mobile/templates中添加node--all.tpl.php來控制手機版頁面顯示,也可以用軟鍊接的方式共用電腦版的node--all.tpl.php,程序中判斷是否手機版來區别顯示;
- html.tpl.php來添加頁面頂部和底部共同的代碼;
- page.tpl.php中修改main menu中Home的多語言翻譯顯示;
- node--all.tpl.php中對讀出的字段标題進行t函數翻譯,以便不需要設置内容類型的多語言及翻譯支持;
自定義模塊:
- 将block、views和home頁三項做成一個custom module:all_postcodebase_com;
- all_postcodebase_com.module中定義各種需要的block;
- all_postcodebase_com.module中定義首頁home,針對不同的站點和版本處理顯示;
- views文件all_postcodebase_com.views_default.inc中可以根據需要添加一些判斷;
- 在block設置中對電腦版和手機版兩種主題進行各自的blocks enable和disable設置及順序調整;
多語言翻譯:
- 将50種語言的.po翻譯文件都放置在sites/translations目錄下,全部都是添加的内置文本及翻譯,命名為模塊名+版本号+語言縮寫.po,例如all_postcodebase_com-7.x-0.1.ar.po;
- 在all_postcodebase_com.info文件中定義project=all_postcodebase_com及版本号version="7.x-0.1",以便l10n_update找到sites/translations目錄下的對應翻譯文件;
- 第一次添加all_postcodebase_com模塊時自動導入對于的翻譯文件;
- 翻譯有添加和更改時編輯.po文件然後上傳覆蓋,以後用l18n_update中的檢查和更新功能來更新翻譯信息;
其它雜項設置:
- 設置i18n中可以翻譯的變量,特别是site name,以便在site information中可以設置50種語言的網站名稱,front page設置為custom module中的home;
- 修改performance中的cache設置;
- 修改search設置,運行cron或者drush來生成内部搜索索引,修改search-result.tpl.php來去掉搜索結果中的作者和日期信息;
- 設置xml sitemap,添加50種語言的站點地圖,注意默認語言的站點地圖需要選擇English然後保存一次,否則找不到文件,rebuild後将桌面版和手機版都提交google webmaster tools;
- 修改cron設置,關閉網站上的cron周期性運行,改用Linux的crontab來控制。
因為做系列網站,所以希望能盡量精簡步驟,也确實經過摸索減少了好些環節,不過上面還是寫了好長,以後再有新改進的時候還會更新。對于以前沒有接觸過Drupal多語言網站的朋友可能還是無法通過本文了解清楚,可以多在Google中搜索遇到的問題,我自己也都是這樣一點一點弄出來的,累啊!😭
用上面辦法搭建的一個新例子是:Afghanistan Postcode ,首頁截圖如下:

近期Google的人聯系我要做一個AdSense的案例宣傳單頁,我也是提供的上面這個截圖,正好是多語言、手機版及各種AdSense廣告形式都有。 😄
评论3
Drupal 7使用Drush添加多語言的腳本
下面是添加50種語言的例子,shell循環腳本:
LA=(af sq ar hy az bg ca zh-hans zh-hant hr cs da nl eo et fi fil fr gl ka de el hu is ga it ja ko lv lt mk ms mt fa pl pt ro ru sr sk sl es sw sv th tr uk vi cy) for j in "${LA[@]}";do echo language: $j drush language-add $j done注意,運行前需要安裝Drush Language Commands的插件支持(運行一句"drush dl drush_language"就可以了)。
Drupal 7中添加50種語言的xmlsitemap
需要先開啟XML sitemap internationalization這個模塊,然後在數據庫中(可以在phpmyadmin界面中)執行:
TRUNCATE TABLE `xmlsitemap_sitemap`; INSERT INTO `xmlsitemap_sitemap` (`smid`, `context`, `updated`, `links`, `chunks`, `max_filesize`) VALUES ('g3XYqcXbSKPVBDODwnT6pq7oqhCFkPryj4vVqrl_Kfc', 'a:1:{s:8:"language";s:2:"en";}', 0, 0, 0, 0), ('LZa-7jhy2SBG0FuW3jja03SHjgSZ8QIoG3AnsQoOmy8', 'a:1:{s:8:"language";s:2:"af";}', 0, 0, 0, 0), ('R4VND5L097ddYE6wDXaN5Jl7CqlrRkI227laTrqdQzI', 'a:1:{s:8:"language";s:2:"sq";}', 0, 0, 0, 0), ('3QWhCTe7KQ0ZR-MqzkhYgq7PkekhXoahRK0-ktC9198', 'a:1:{s:8:"language";s:2:"ar";}', 0, 0, 0, 0), ('rEA7Ume326CMKb7huj3-iZNj8dgxwytUE_QKafGPoS8', 'a:1:{s:8:"language";s:2:"hy";}', 0, 0, 0, 0), ('_FuRjiXoiaiYVERsV6LaopM3QXdVIco8fTq4juua7dA', 'a:1:{s:8:"language";s:2:"az";}', 0, 0, 0, 0), ('Ws6Pk8Ccl-kGwmsqzRfJRYC5u0_rI4DDI11AQdPNhTY', 'a:1:{s:8:"language";s:2:"bg";}', 0, 0, 0, 0), ('aNkRiCzjfJQdg8nBocBcXhm1bm6WLTXsKRTh-yDHMc8', 'a:1:{s:8:"language";s:2:"ca";}', 0, 0, 0, 0), ('3QuYVMoAVDdMUmwuEdFhwSFxLtcBNDrxIy91p4VzGdY', 'a:1:{s:8:"language";s:7:"zh-hans";}', 0, 0, 0, 0), ('gNQigJ8V6aUMKO8U3wkd4y04rttp_RCe6uGO4kXyQnU', 'a:1:{s:8:"language";s:7:"zh-hant";}', 0, 0, 0, 0), ('igVpPQY_QVAMYlftsuIhWLnR9NOb52mZ9URjmMzBHqk', 'a:1:{s:8:"language";s:2:"hr";}', 0, 0, 0, 0), ('JqsSZ0ACA-VztmE3q054r5qUF8LYCLshZpXn9ZWOgYo', 'a:1:{s:8:"language";s:2:"cs";}', 0, 0, 0, 0), ('87mlCzCcgPXzQvm2qE3Is2lMA7b3UyFAJgnINaSi04Y', 'a:1:{s:8:"language";s:2:"da";}', 0, 0, 0, 0), ('VYOTF4bQdgrfTJyQddsbQTYCd13NBvx-ifXqmOhuH9w', 'a:1:{s:8:"language";s:2:"nl";}', 0, 0, 0, 0), ('I9T_cIxer-FMIaMXxRrx5-bnxgj16Z55dELZHsSb0SQ', 'a:1:{s:8:"language";s:2:"eo";}', 0, 0, 0, 0), ('4Cb0X8hFMUkO3ED6IxmWAWSWup0KInr0U1kPzHui9xY', 'a:1:{s:8:"language";s:2:"et";}', 0, 0, 0, 0), ('IaRtAXUxh2lU60MjATpfjUt8JUJse6KuzHxODhPida8', 'a:1:{s:8:"language";s:3:"fil";}', 0, 0, 0, 0), ('PYgq5vYzAuvYMcuKajN7voJEvUlYuPXv7goZjmMJ8Fk', 'a:1:{s:8:"language";s:2:"fi";}', 0, 0, 0, 0), ('2e9ZfIfLFCC0V-PbcDKUTb1Wk22XgjzJ6f-b16CFlPE', 'a:1:{s:8:"language";s:2:"fr";}', 0, 0, 0, 0), ('V6W10nlwnkf_N8uu4GwUpZ_dbf-e66z8IcMdkWyzUQM', 'a:1:{s:8:"language";s:2:"gl";}', 0, 0, 0, 0), ('FY_-EiR_oa31k2g2U3tQi1FdUv4LT0KDDxOamtSjyi8', 'a:1:{s:8:"language";s:2:"ka";}', 0, 0, 0, 0), ('oWx2Pl033k1XFmYJFOs7sO0G3JasH0cjDbduvDwKuwo', 'a:1:{s:8:"language";s:2:"de";}', 0, 0, 0, 0), ('XYbrhwAOg0sH5tuc45W4YgKnq1SObpmzxm9kN1Dy3QI', 'a:1:{s:8:"language";s:2:"el";}', 0, 0, 0, 0), ('Q-DnbT83L1sy4kAX_nYRCyT4AJOTpg30-XEPI1hmyNg', 'a:1:{s:8:"language";s:2:"hu";}', 0, 0, 0, 0), ('QLefgmOMHyi_NiinQJa9AKCQNccFfPrNIdRGIqQJXXo', 'a:1:{s:8:"language";s:2:"is";}', 0, 0, 0, 0), ('G11UQ93ugnrx9ZOPe8RHDN4OJ7uYSZCYtF9EOrlEQlA', 'a:1:{s:8:"language";s:2:"ga";}', 0, 0, 0, 0), ('o1lnqD7hynYmesOfRQVh_UIPswJqoj5Mjjb0krTsxBI', 'a:1:{s:8:"language";s:2:"it";}', 0, 0, 0, 0), ('4vXFu1xAuZ1nftmnnfowGaQ0yrARIcSvgyG5T7cqg04', 'a:1:{s:8:"language";s:2:"ja";}', 0, 0, 0, 0), ('zqY91BRIiHW3IzuCP7ygvlayDVv_LsCV3gx5oYyZM0c', 'a:1:{s:8:"language";s:2:"ko";}', 0, 0, 0, 0), ('2KhpMoaeN8AdO8hifieREj7vkzINMolX97tRzkIQ3BQ', 'a:1:{s:8:"language";s:2:"lv";}', 0, 0, 0, 0), ('kkE2MTArkFb4S-r2Nve1rlFEv86OTmedrSd0DhgfCtE', 'a:1:{s:8:"language";s:2:"lt";}', 0, 0, 0, 0), ('qaKz2M8Q1Hx-usBG6hz7uJXmOAF1PVvM3WmgLsQE62Y', 'a:1:{s:8:"language";s:2:"mk";}', 0, 0, 0, 0), ('ehIYDa6eZtWBG9ofuU3JJwe7ePsWdnOwkygkE_8UlIk', 'a:1:{s:8:"language";s:2:"ms";}', 0, 0, 0, 0), ('caOAq7WZXTCbDsMfG81QIbCf0bkLMDWBxOrYdWgeMMU', 'a:1:{s:8:"language";s:2:"mt";}', 0, 0, 0, 0), ('JujatUJ6eea9-3GLZFmBcT7CgN2qXYl-odpyftFpjYI', 'a:1:{s:8:"language";s:2:"fa";}', 0, 0, 0, 0), ('h_Rziqj_J13oB-imJ4qIG8ksKWXWZ_Hynp5POSsd07k', 'a:1:{s:8:"language";s:2:"pl";}', 0, 0, 0, 0), ('1BK4NSbkvEoG3bU1TTfRaPC-DVwVA-pvtUl3_CWLZB0', 'a:1:{s:8:"language";s:2:"pt";}', 0, 0, 0, 0), ('GI3xOGu1J_C9ymceu4SPSzs6JE8tv61AEnpI3lzXVW0', 'a:1:{s:8:"language";s:2:"ro";}', 0, 0, 0, 0), ('_KyYVoP1pMRSEJD8cDQst9Nj-h1vo7ZVPnvdm5RCdy4', 'a:1:{s:8:"language";s:2:"ru";}', 0, 0, 0, 0), ('s0XnmLCtZcWgnQ7ZFew1Fhtbt9EQ38Ddg7J87BGJ2ys', 'a:1:{s:8:"language";s:2:"sr";}', 0, 0, 0, 0), ('40Vfh2LHqOFN8RF3OKzRCh_w_cwudpGkr0xa3V2yFqY', 'a:1:{s:8:"language";s:2:"sk";}', 0, 0, 0, 0), ('x6B8OtrKWrEaGY6P503gk4XvAlmc1lRjZsZKbrZZp2Y', 'a:1:{s:8:"language";s:2:"sl";}', 0, 0, 0, 0), ('t9UQ7FvqR0wMQMnd5n2XukH0kM9liAM9wOhfSLRl2qw', 'a:1:{s:8:"language";s:2:"es";}', 0, 0, 0, 0), ('7p_cwXvUFez4aPn5SewMmsgoJ2J6qRNN2mgf8hEe3mU', 'a:1:{s:8:"language";s:2:"sw";}', 0, 0, 0, 0), ('t16K-LvlM4dINVHfcxC__57flE1iMIVnUezIVBDDZfE', 'a:1:{s:8:"language";s:2:"sv";}', 0, 0, 0, 0), ('5x3-O5uUfArK1LK8i29anopPRkWTuhyFnzYWdcyBrso', 'a:1:{s:8:"language";s:2:"th";}', 0, 0, 0, 0), ('4t2LDT2-5kkWXwt0FTm6JNAFOdzcz7Fs55mzMuovLmc', 'a:1:{s:8:"language";s:2:"tr";}', 0, 0, 0, 0), ('T43qaxwUQWS5cOCpwG2tGLGOF5UzykA0K-mCFL6oRhs', 'a:1:{s:8:"language";s:2:"uk";}', 0, 0, 0, 0), ('uIMIDC5eEaw7jcWdnI3wjc67eo8miZwUihIKzFid2oA', 'a:1:{s:8:"language";s:2:"vi";}', 0, 0, 0, 0), ('LKmx_ZVMy7dOYfDz0RjgPeF1gGWia54MlPtIrVIOgjA', 'a:1:{s:8:"language";s:2:"cy";}', 0, 0, 0, 0);就可以添加50種語言的sitemap,然後再運行:
就可以生成50中語言的sitemap。
用Drush來添加50種語言的xmlsitemap
也是直接操作數據庫,效果與上面一樣,隻是可以在Drush中運行,不用在phpmyadmin中去運行:
$d sql-query "TRUNCATE TABLE xmlsitemap_sitemap;" $d sql-query "INSERT INTO xmlsitemap_sitemap (smid, context, updated, links, chunks, max_filesize) VALUES ('g3XYqcXbSKPVBDODwnT6pq7oqhCFkPryj4vVqrl_Kfc', 'a:1:{s:8:\"language\";s:2:\"en\";}', 0, 0, 0, 0), ('LZa-7jhy2SBG0FuW3jja03SHjgSZ8QIoG3AnsQoOmy8', 'a:1:{s:8:\"language\";s:2:\"af\";}', 0, 0, 0, 0), ('R4VND5L097ddYE6wDXaN5Jl7CqlrRkI227laTrqdQzI', 'a:1:{s:8:\"language\";s:2:\"sq\";}', 0, 0, 0, 0), ('3QWhCTe7KQ0ZR-MqzkhYgq7PkekhXoahRK0-ktC9198', 'a:1:{s:8:\"language\";s:2:\"ar\";}', 0, 0, 0, 0), ('rEA7Ume326CMKb7huj3-iZNj8dgxwytUE_QKafGPoS8', 'a:1:{s:8:\"language\";s:2:\"hy\";}', 0, 0, 0, 0), ('_FuRjiXoiaiYVERsV6LaopM3QXdVIco8fTq4juua7dA', 'a:1:{s:8:\"language\";s:2:\"az\";}', 0, 0, 0, 0), ('Ws6Pk8Ccl-kGwmsqzRfJRYC5u0_rI4DDI11AQdPNhTY', 'a:1:{s:8:\"language\";s:2:\"bg\";}', 0, 0, 0, 0), ('aNkRiCzjfJQdg8nBocBcXhm1bm6WLTXsKRTh-yDHMc8', 'a:1:{s:8:\"language\";s:2:\"ca\";}', 0, 0, 0, 0), ('3QuYVMoAVDdMUmwuEdFhwSFxLtcBNDrxIy91p4VzGdY', 'a:1:{s:8:\"language\";s:7:\"zh-hans\";}', 0, 0, 0, 0), ('gNQigJ8V6aUMKO8U3wkd4y04rttp_RCe6uGO4kXyQnU', 'a:1:{s:8:\"language\";s:7:\"zh-hant\";}', 0, 0, 0, 0), ('igVpPQY_QVAMYlftsuIhWLnR9NOb52mZ9URjmMzBHqk', 'a:1:{s:8:\"language\";s:2:\"hr\";}', 0, 0, 0, 0), ('JqsSZ0ACA-VztmE3q054r5qUF8LYCLshZpXn9ZWOgYo', 'a:1:{s:8:\"language\";s:2:\"cs\";}', 0, 0, 0, 0), ('87mlCzCcgPXzQvm2qE3Is2lMA7b3UyFAJgnINaSi04Y', 'a:1:{s:8:\"language\";s:2:\"da\";}', 0, 0, 0, 0), ('VYOTF4bQdgrfTJyQddsbQTYCd13NBvx-ifXqmOhuH9w', 'a:1:{s:8:\"language\";s:2:\"nl\";}', 0, 0, 0, 0), ('I9T_cIxer-FMIaMXxRrx5-bnxgj16Z55dELZHsSb0SQ', 'a:1:{s:8:\"language\";s:2:\"eo\";}', 0, 0, 0, 0), ('4Cb0X8hFMUkO3ED6IxmWAWSWup0KInr0U1kPzHui9xY', 'a:1:{s:8:\"language\";s:2:\"et\";}', 0, 0, 0, 0), ('IaRtAXUxh2lU60MjATpfjUt8JUJse6KuzHxODhPida8', 'a:1:{s:8:\"language\";s:3:\"fil\";}', 0, 0, 0, 0), ('PYgq5vYzAuvYMcuKajN7voJEvUlYuPXv7goZjmMJ8Fk', 'a:1:{s:8:\"language\";s:2:\"fi\";}', 0, 0, 0, 0), ('2e9ZfIfLFCC0V-PbcDKUTb1Wk22XgjzJ6f-b16CFlPE', 'a:1:{s:8:\"language\";s:2:\"fr\";}', 0, 0, 0, 0), ('V6W10nlwnkf_N8uu4GwUpZ_dbf-e66z8IcMdkWyzUQM', 'a:1:{s:8:\"language\";s:2:\"gl\";}', 0, 0, 0, 0), ('FY_-EiR_oa31k2g2U3tQi1FdUv4LT0KDDxOamtSjyi8', 'a:1:{s:8:\"language\";s:2:\"ka\";}', 0, 0, 0, 0), ('oWx2Pl033k1XFmYJFOs7sO0G3JasH0cjDbduvDwKuwo', 'a:1:{s:8:\"language\";s:2:\"de\";}', 0, 0, 0, 0), ('XYbrhwAOg0sH5tuc45W4YgKnq1SObpmzxm9kN1Dy3QI', 'a:1:{s:8:\"language\";s:2:\"el\";}', 0, 0, 0, 0), ('Q-DnbT83L1sy4kAX_nYRCyT4AJOTpg30-XEPI1hmyNg', 'a:1:{s:8:\"language\";s:2:\"hu\";}', 0, 0, 0, 0), ('QLefgmOMHyi_NiinQJa9AKCQNccFfPrNIdRGIqQJXXo', 'a:1:{s:8:\"language\";s:2:\"is\";}', 0, 0, 0, 0), ('G11UQ93ugnrx9ZOPe8RHDN4OJ7uYSZCYtF9EOrlEQlA', 'a:1:{s:8:\"language\";s:2:\"ga\";}', 0, 0, 0, 0), ('o1lnqD7hynYmesOfRQVh_UIPswJqoj5Mjjb0krTsxBI', 'a:1:{s:8:\"language\";s:2:\"it\";}', 0, 0, 0, 0), ('4vXFu1xAuZ1nftmnnfowGaQ0yrARIcSvgyG5T7cqg04', 'a:1:{s:8:\"language\";s:2:\"ja\";}', 0, 0, 0, 0), ('zqY91BRIiHW3IzuCP7ygvlayDVv_LsCV3gx5oYyZM0c', 'a:1:{s:8:\"language\";s:2:\"ko\";}', 0, 0, 0, 0), ('2KhpMoaeN8AdO8hifieREj7vkzINMolX97tRzkIQ3BQ', 'a:1:{s:8:\"language\";s:2:\"lv\";}', 0, 0, 0, 0), ('kkE2MTArkFb4S-r2Nve1rlFEv86OTmedrSd0DhgfCtE', 'a:1:{s:8:\"language\";s:2:\"lt\";}', 0, 0, 0, 0), ('qaKz2M8Q1Hx-usBG6hz7uJXmOAF1PVvM3WmgLsQE62Y', 'a:1:{s:8:\"language\";s:2:\"mk\";}', 0, 0, 0, 0), ('ehIYDa6eZtWBG9ofuU3JJwe7ePsWdnOwkygkE_8UlIk', 'a:1:{s:8:\"language\";s:2:\"ms\";}', 0, 0, 0, 0), ('caOAq7WZXTCbDsMfG81QIbCf0bkLMDWBxOrYdWgeMMU', 'a:1:{s:8:\"language\";s:2:\"mt\";}', 0, 0, 0, 0), ('JujatUJ6eea9-3GLZFmBcT7CgN2qXYl-odpyftFpjYI', 'a:1:{s:8:\"language\";s:2:\"fa\";}', 0, 0, 0, 0), ('h_Rziqj_J13oB-imJ4qIG8ksKWXWZ_Hynp5POSsd07k', 'a:1:{s:8:\"language\";s:2:\"pl\";}', 0, 0, 0, 0), ('1BK4NSbkvEoG3bU1TTfRaPC-DVwVA-pvtUl3_CWLZB0', 'a:1:{s:8:\"language\";s:2:\"pt\";}', 0, 0, 0, 0), ('GI3xOGu1J_C9ymceu4SPSzs6JE8tv61AEnpI3lzXVW0', 'a:1:{s:8:\"language\";s:2:\"ro\";}', 0, 0, 0, 0), ('_KyYVoP1pMRSEJD8cDQst9Nj-h1vo7ZVPnvdm5RCdy4', 'a:1:{s:8:\"language\";s:2:\"ru\";}', 0, 0, 0, 0), ('s0XnmLCtZcWgnQ7ZFew1Fhtbt9EQ38Ddg7J87BGJ2ys', 'a:1:{s:8:\"language\";s:2:\"sr\";}', 0, 0, 0, 0), ('40Vfh2LHqOFN8RF3OKzRCh_w_cwudpGkr0xa3V2yFqY', 'a:1:{s:8:\"language\";s:2:\"sk\";}', 0, 0, 0, 0), ('x6B8OtrKWrEaGY6P503gk4XvAlmc1lRjZsZKbrZZp2Y', 'a:1:{s:8:\"language\";s:2:\"sl\";}', 0, 0, 0, 0), ('t9UQ7FvqR0wMQMnd5n2XukH0kM9liAM9wOhfSLRl2qw', 'a:1:{s:8:\"language\";s:2:\"es\";}', 0, 0, 0, 0), ('7p_cwXvUFez4aPn5SewMmsgoJ2J6qRNN2mgf8hEe3mU', 'a:1:{s:8:\"language\";s:2:\"sw\";}', 0, 0, 0, 0), ('t16K-LvlM4dINVHfcxC__57flE1iMIVnUezIVBDDZfE', 'a:1:{s:8:\"language\";s:2:\"sv\";}', 0, 0, 0, 0), ('5x3-O5uUfArK1LK8i29anopPRkWTuhyFnzYWdcyBrso', 'a:1:{s:8:\"language\";s:2:\"th\";}', 0, 0, 0, 0), ('4t2LDT2-5kkWXwt0FTm6JNAFOdzcz7Fs55mzMuovLmc', 'a:1:{s:8:\"language\";s:2:\"tr\";}', 0, 0, 0, 0), ('T43qaxwUQWS5cOCpwG2tGLGOF5UzykA0K-mCFL6oRhs', 'a:1:{s:8:\"language\";s:2:\"uk\";}', 0, 0, 0, 0), ('uIMIDC5eEaw7jcWdnI3wjc67eo8miZwUihIKzFid2oA', 'a:1:{s:8:\"language\";s:2:\"vi\";}', 0, 0, 0, 0), ('LKmx_ZVMy7dOYfDz0RjgPeF1gGWia54MlPtIrVIOgjA', 'a:1:{s:8:\"language\";s:2:\"cy\";}', 0, 0, 0, 0);"後面還是一樣運行: