如何在Drupal 6.32 + Ubercart 6.x-2.13上启用多语言目录块

格雷厄姆·里奇(Graham Leach)

问题描述

无论我做什么尝试,使用语言切换器都无法让Ubercart Catalog Block更改语言。您可以在以下位置自己测试此行为:

holistichorsecare.com/zh/产品/ aromadog-arf-ritis-pain-relief-1oz

无论使用哪种语言环境(英语或中文,“ en”或“ zh-hant”),在任何情况下,页面左边缘的购物车块都将显示以下文本:

购物车

您的购物车中没有商品。

0项目总计:HK $ 0.00

继续尝试。加载页面,然后单击页面标题中显示的英文或中文。购物车块不会更改语言,我希望可以更改语言。

本地化文件已安装-我认为...

我已经使用管理前端安装了以下本地化字符串程序包,它们似乎已正确加载。

  • ubercart-6.x-2.13.zh-hant.po
  • uc_ajax_cart-6.x-1.0.zh-hant.po

签出模块代码

调查:

holistichorsecare.com/www/content/sites/all/modules/ubercart/uc_cart/translations/zh-hant

我在1926行附近看到以下条目:

msgstr“您的购物车中没有商品。” msgstr“ä½(妳)çè³¼ç©è»è£¡æ²æä»»ä½åå。”

(乱码是在我的shell中分解的多字节字符)

展望

holistichorsecare.com/www/content/sites/all/modules/ubercart/uc_cart/cart.module

我在706行周围看到以下调用:

$output = '<p class="uc-cart-empty">'. t('There are no products in your shopping cart.') .'</p>';

因此,似乎有一个调用t()来转换字符串的方法,但是从提供替代方法的任何系统中都看不到该方法。

有人可以告诉我我需要进入管理前端的什么位置才能对Ubercart中的购物车块(ajax车)启用本地化/翻译吗?

我想我只是错过了打开翻译的复选框,或者不得不告诉Drupal / Ubercart购物车模块中的字符串要翻译,但是我不知道该去哪里或该怎么做。这。

PS:当我在故障排除代码中调用i18n_get_lang()时,我得到了正确的答案(即“ en”或“ zh-hant”),因此系统知道它所处的语言环境。

谢谢你。

更新-成功!

我设法通过将zh-hant字符串导入到Built-in Interface中来使其工作

这是我的操作方式:

1)我去了网站建设»街区,并确认购物车街区语言设置已设置为所有语言。

2)我去了站点配置»语言»配置»语言协商,并将语言协商设置设置为带有语言后备的路径前缀

3)我去了网站建设»翻译界面,然后选择了导入选项卡

4)在“导入”选项卡上,单击“选择文件”按钮,然后选择ubercart-6.x-2.13.zh-hant.po,其中包含一堆中文定义。我从localize.drupal.org/translate/languages/zh-hant获得了这个定义文件

5)我选择了内置接口保留了现有字符串,仅添加了新字符串

6)然后点击“导入”

确认

导入完成后,我单击“概述”选项卡以检查结果:

繁体中文4242/9881(42.93%)0/19(0%)0/16(0%)0/49(0%)0/37(0%)0/15(0%)1518/1518(100 %)2/3(66.67%)

显然,此导入将4242定义加载Drupal系统的“内置接口”部分中。这些字符串不在“商店管理”区域附近,这对我来说还是个谜,但嘿-它起作用了。

结论

完成上述步骤后,“购物车”块将开始以中文或英文正确显示,具体取决于在“语言切换器”中选择了哪种语言。

最后评论和问题

再三考虑,也许这毕竟不是那么违反直觉的。毕竟,BLOCK是Drupal系统通用接口的一部分,而不是Checkout流程的一部分。

也许我对此有误...任何人都可以确认或纠正?

G。

斯图尔特·亚当

您执行的过程是正确的,调用的代码t()将创建一个创建字符串(通常在该Built-in Interface组下),并且需要通过搜索字符串或将.po包含必要字符串文件导入组来手动翻译

如果您不熟悉该行为,那么它会使行为变得更加奇怪的是,因为t()仅在调用时创建接口字符串,所以您必须首先以所需的语言查看内容(即使该内容会被打断/不翻译)。这允许t()在数据库中创建字符串条目,从而允许您随后对其进行翻译。

我建议您使用诸如l18n_update之类的模块来自动更新接口翻译,并为上游所做的任何新更改导入字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Drupal 6 + Ubercart语言切换器之谜(目录正常,产品正常,类别不正常)

来自分类Dev

Android上的JWPlayer 6多语言

来自分类Dev

Android上的JWPlayer 6多语言

来自分类Dev

如何在Windows 8.1 x64上安装VB6 SP6?

来自分类Dev

如何在Drupal网站上的Ubercart中显示数量字段

来自分类Dev

如何在drupal 6的IIS 7.5服务器上设置upload_tmp_dir值?

来自分类Dev

如何在 RHEL6 32 位机器上安装 python 2.7?

来自分类Dev

如何在x64上构建gcc-6.x.0,而不会抱怨“未知规格”?

来自分类Dev

如何在Corel Draw X6中填充矩形?

来自分类Dev

权限/时区错误-Drupal 6-7.x-如何解决?

来自分类Dev

如何在ggplot2中每3或6个月显示日期x轴标签

来自分类Dev

如何在sid / stretch系统上安装最新的6.x或7.x版本的nodejs(2017年4月)?

来自分类Dev

如何在Asp.Net 5(MVC 6)中使用Entity Framework 6.x

来自分类Dev

如何在Laravel 6.X中传递符合PSR-6的缓存适配器?

来自分类Dev

如何获取以下4D数组的中位数(31x6x2x3)?

来自分类Dev

STM32F103C8T6上的裸机LED如何闪烁?

来自分类Dev

centos 6.x上的pdo dblib

来自分类Dev

如何在Centos 6上安装jpegrescan?

来自分类Dev

如何在Debian 6上安装zlib?

来自分类Dev

如何在 Centos 6 上安装 Privoxy

来自分类Dev

如何在 iPhone 6 上运行 ARKit?

来自分类Dev

在Ubuntu 16.4 LTS上安装32位软件包(lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc ++ 6)的命令

来自分类Dev

在OS X Yosemite,xCode 6上构建libxml2-2.9.2

来自分类Dev

如何在Jboss 6 EAP上为as400 db2设置数据源?

来自分类Dev

如何在具有IPv6的Ubuntu上使用ulogd2?

来自分类Dev

如何使用PHP代码获取UberCart版本

来自分类Dev

如何启用BCMath CentOS 6

来自分类Dev

为什么iPhone 6使用@ 2x图像资产?

来自分类Dev

交叉编译gstreamer失败:x86-64-> ARMv6 32位

Related 相关文章

  1. 1

    Drupal 6 + Ubercart语言切换器之谜(目录正常,产品正常,类别不正常)

  2. 2

    Android上的JWPlayer 6多语言

  3. 3

    Android上的JWPlayer 6多语言

  4. 4

    如何在Windows 8.1 x64上安装VB6 SP6?

  5. 5

    如何在Drupal网站上的Ubercart中显示数量字段

  6. 6

    如何在drupal 6的IIS 7.5服务器上设置upload_tmp_dir值?

  7. 7

    如何在 RHEL6 32 位机器上安装 python 2.7?

  8. 8

    如何在x64上构建gcc-6.x.0,而不会抱怨“未知规格”?

  9. 9

    如何在Corel Draw X6中填充矩形?

  10. 10

    权限/时区错误-Drupal 6-7.x-如何解决?

  11. 11

    如何在ggplot2中每3或6个月显示日期x轴标签

  12. 12

    如何在sid / stretch系统上安装最新的6.x或7.x版本的nodejs(2017年4月)?

  13. 13

    如何在Asp.Net 5(MVC 6)中使用Entity Framework 6.x

  14. 14

    如何在Laravel 6.X中传递符合PSR-6的缓存适配器?

  15. 15

    如何获取以下4D数组的中位数(31x6x2x3)?

  16. 16

    STM32F103C8T6上的裸机LED如何闪烁?

  17. 17

    centos 6.x上的pdo dblib

  18. 18

    如何在Centos 6上安装jpegrescan?

  19. 19

    如何在Debian 6上安装zlib?

  20. 20

    如何在 Centos 6 上安装 Privoxy

  21. 21

    如何在 iPhone 6 上运行 ARKit?

  22. 22

    在Ubuntu 16.4 LTS上安装32位软件包(lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc ++ 6)的命令

  23. 23

    在OS X Yosemite,xCode 6上构建libxml2-2.9.2

  24. 24

    如何在Jboss 6 EAP上为as400 db2设置数据源?

  25. 25

    如何在具有IPv6的Ubuntu上使用ulogd2?

  26. 26

    如何使用PHP代码获取UberCart版本

  27. 27

    如何启用BCMath CentOS 6

  28. 28

    为什么iPhone 6使用@ 2x图像资产?

  29. 29

    交叉编译gstreamer失败:x86-64-> ARMv6 32位

热门标签

归档