TYPO3 v6 中的语言切换

2023-12-30

切换前端语言并不像预期的那样对我有用。到目前为止我所做的:

在根页面,我创建了两种网站语言:德语和英语:

在打字稿模板中,我添加了以下设置,我发现其中大部分分散在网络上:

config {
  tx_realurl_enable = 1
  simulateStaticDocuments = 0
  sys_language_uid = 0
  language = de
  locale_all = de_DE
  htmlTag_langKey = de
  linkVars := addToList(L)
  uniqueLinkVars = 1
  sys_language_mode = content_fallback
  sys_language_overlay = 1
}

[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]

[globalVar = GP:L = 2]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]

在一个页面上,我为该页面创建了一个新的翻译并添加了一些内容。

左边是标准语言(在本例中是德语),充满了 lorem ipsum。右边是新语言(英语),里面填充了一些不同的内容,只是为了看看效果。

现在,当我单击英语栏上方的小预览图标时,我会看到index.php?id=3&L=2,这表明L=2被添加。但网站上的内容仍然是标准的(德语/lorem ipsum)内容。我哪里做错了?

另外:我在前端添加了一个菜单,让用户在语言之间切换:

  languageMenu = HMENU
  languageMenu {
    special = language
    special.value = 0,2
    1 = TMENU
    1 {
      wrap = <ul id="language"> | </ul>
      NO = 1
      NO {
        wrapItemAndSub = <li> | </li>
        stdWrap.override = deutsch || english
      }
      ACT < .NO
      ACT {
        ATagParams = class="active"
      }
    }
  }

与 realurl 结合使用,会产生如下所示的 url:

German: /startseite/英语:/2/home/

  1. 是否可以使用类似的参数de and en而不是语言的数字?
  2. 如何确保 url 始终包含德语或英语语言参数?
  3. When on /startseite/,对应的链接得到class="active",但在/2/home/,没有链接被标记为活动。怎么解决这个问题呢?

TYPO3和多语言似乎是一个令人困惑的话题,我希望你们中的一些人能够回答我的一些问题。提前致谢!

编辑:感谢丹尼尔找到了解决方案。

这是为了防止其他人遇到同样的问题:

Setup:

config {
  tx_realurl_enable = 1
  simulateStaticDocuments = 0
  sys_language_uid = 0
  language = de
  locale_all = de_DE
  htmlTag_langKey = de
  linkVars := addToList(L)
  uniqueLinkVars = 1
  sys_language_mode = content_fallback
  sys_language_overlay = 1
}

[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]

[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]

[...]

  languageMenu = HMENU
  languageMenu {
    special = language
    special.value = 0,2
    1 = TMENU
    1 {
      wrap = <ul id="language"> | </ul>
      NO = 1
      NO {
        wrapItemAndSub = <li> | </li>
        stdWrap.override = deutsch || english
      }
      ACT < .NO
      ACT {
        ATagParams = class="active"
      }
    }
  }

真实网址配置:

    'preVars' => 
    array(
      0 => 
      array(
        'GETvar' => 'L',
        'valueMap' => 
        array(
          'de' => '0',
          'en' => '2',
        ),
        'valueDefault' => 'de'
      ),
    ),

1) + 2) 在您的 realURL 配置中使用 valueMap:

   'preVars' =>
      array(
       0 =>
          array(
            'GETvar' => 'L',
            'valueMap' =>
              array(
                'de' => '0',                    
                'en' => '2'
              ),
          )
      )

3) 尝试使 L 参数与 sys_language_uid 保持同步。 所以对于英语使用:

[globalVar = GP:L = 1]
    config.sys_language_uid = 1
    config.language = en
    config.locale_all = en_EN
    config.htmlTag_langKey = en
[global]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TYPO3 v6 中的语言切换 的相关文章

  • 操作 Symfony Intl 提供的国家列表和表单选择类型

    抛开政治不谈 我需要提供Kosovo作为选择国家时的形式选择 使用 Symfony 的内置表单选择类型执行此操作的最优雅的方法是什么country 同时还提供翻译Kosovo name 这是我到目前为止所做的事情 它有效 但我担心这可能有点
  • typo3 extbase:验证表单

    我创建了一个简单的 订阅新闻通讯 表单
  • 如何提供其他语言的javadoc? [复制]

    这个问题在这里已经有答案了 我们经常与西班牙 智利 印度等其他国家开发和维护的服务集成 我一直看到来自西班牙和智利的服务 API 调用都是西班牙语 但我们希望我们的代码是英语 Javadoc 是英语和西班牙语 我正在寻找实现这一目标的最佳方
  • 如何检测 JSF 应用程序中的客户端区域设置?

    我该如何使用ServletRequest getLocale 在 JSF 应用程序中 当Servlet我的代码中不存在并且由 JSF 实现提供 我正在尝试使用ServletContextListener 但是有可能达到ServletRequ
  • Extbase查询比较同一个表中的两个字段

    是否可以在查询 API 中比较两个数据库字段 例如 我想比较字段 tstamp 和 crdate 如下所示 SELECT FROM tt content WHERE tstamp gt crdate 在查询 api 中我找不到解决方案 获取
  • 在 Swing 中使用印度语输入法输入文本时不显示英文字符

    我正在开发一个应用程序 它接受英语文本并使用自定义的第 3 方 API 将音译为印度语 受支持的几种语言之一 该应用程序针对 Windows XP 7 和 Ubuntu 我们使用自定义输入法来加载所需的印度语字体 并使用它渲染文本 此外 用
  • PHP:检查任何基于拉丁语的语言中的字母字符?

    使用 PHP 我想检查一个字符串仅包含字母字符 我不想允许任何数字或特殊字符 例如 ctype alpha 对于这个目的来说似乎很棒 问题是我想允许重音字母 例如法语等 例如 我想允许 L rien 我知道ctype alpha 可以与se
  • 在 ASP.NET 中创建自定义文化

    我想在 App GlobalResources 文件夹中创建一个名为 shopping en sg resx 的新加坡英语 en sg 资源文件 我在编译过程中遇到错误 错误 1 命名空间 资源 已经包含了一个定义 购物 c WINDOWS
  • 有没有办法获取 PHP 中可用区域设置的列表?

    在Java中 你可以调用Locale getAvailableLocales 获取可用区域设置的列表 我期待 PHP 的同等功能Locale http php net manual en class locale php类 但找不到 有没有
  • 如何对单个 TypoSript 对象生成进行基准测试?

    我想对单个 TypoScript 对象生成进行基准测试以控制性能 是否可以使用某些 stdWrap 方法 我想要对其进行基准测试的 TS 对象示例 Test 1 page 10 RECORDS page 10 tables pages so
  • 在 Java/GWT 中解析用户时间输入

    解析用户在 GWT 中的文本字段中键入的时间的最佳方法是什么 默认时间格式要求用户完全按照区域设置指定的时间格式输入时间 我想要更加灵活 因为用户可以通过多种不同的方式输入时间 例如 8 8p 8pm 8 15pm 13 15 1315 1
  • iOS 获取特定语言的字符串的本地化版本

    我正在构建一个适用于 iOS 的应用程序 该应用程序将提供英语和法语版本 我已经阅读了一些有关国际化的教程 并且了解了它的工作原理以及我需要做什么 我遇到的问题是有一个特定的情况 我想为英语用户加载法语字符串 我知道可以为整个应用程序设置语
  • .properties 或 JSP 编码有问题

    我有jsp文件
  • Postgres 上的 C 语言环境和 Posix 语言环境有什么区别?

    我知道 Postgres 上的数据库区域设置负责国家字符的正确顺序 正确的小写 大写等 但为什么有两种语言中立的语言环境 posix and c 它们之间有什么区别 还是只是一个中立的语言环境有两个不同的名称 UPDATE正如 Magnus
  • SQLite 的不区分大小写的 UTF-8 字符串排序规则 (C/C++)

    我正在寻找一种方法 以不区分大小写的方式对 C 中的 UTF 8 字符串进行比较和排序 以便在SQLite 中的自定义排序规则函数 http www sqlite org c3ref create collation html 该方法应该i
  • 国际化和非 US-ASCII、Latin1 或 Win1252 的密码

    当用户输入最能以 Unicode 或其他非拉丁字符编码表示的内容时 您如何处理服务密码 具体来说 可以使用西里尔字母密码作为Oracle的密码吗 如果密码以 UTF 8 形式提供 您如何根据 Windows 身份验证机制验证用户的密码 我对
  • 使用 Nib 实现国际化。这真的是个好主意吗?

    在苹果文档中 他们说笔尖只需将笔尖翻译成多种语言即可实现国际化 我现在正在考虑一个更糟糕但现实的场景 你已经制作了一个巨大的用户界面 然后你将其翻译成 25 种语言 所以你会得到 25 个不同的笔尖 您还会在样式和定义 UI 方面获得巨大的
  • 如何更改我的应用程序的语言[重复]

    这个问题在这里已经有答案了 可能的重复 在 Android 中以编程方式更改语言 https stackoverflow com questions 2900023 change language programatically in an
  • 在 iOS 7 中使用新的格式字符串说明符配置字典(复数支持)

    我正在尝试使用 iOS 7 中对复数的更复杂本地化的新支持 我创建了一个 stringsdict 文件 根据 Foundation 发行说明 以及 Cocoa WWDC 会议中的新增功能 中的信息进行格式化 我已经验证 stringsdic
  • 如何将任何语言和字符集的字符串转换为 Java 中的有效文件名?

    我需要根据用户输入的名称生成文件名 这些名称可以是任何语言 例如 约翰 史密斯 高岡和子 我爱你 这些是使用输入的值 因此我不能保证名称不包含文件名中无效的字符 用户将从浏览器下载这些文件 因此我需要确保文件名在所有配置的所有操作系统上都有

随机推荐