簡體   English   中英

TYPO3 - 擴展內 PHP ViewHelper 中的流體翻譯

[英]TYPO3 - Fluid Translate in PHP ViewHelper within extension

使用 PHP 8.7.17

我有以下視圖助手來舉例說明我需要什么

<?php namespace SRS\SrsPccLog\ViewHelpers;
  use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;

  class ShowDateAsStringViewHelper extends AbstractViewHelper
  {
      public function initializeArguments()
      {
           $this->registerArgument('month', 'integer', 'month value', true);
      }

       public function render()
       {
            $month = $this->arguments['month'];
            return $this->monthAsString($month, $year);
       }

       public function monthAsString ($month) {
          switch ($month) {
            case 1:
                 return "January";
            case 2:
                 return "February";
            case 3:
                 return "March";
            case 4:
                 return "April";
            case 5:
                 return "May";
            default:
                 return "";
         }
   }

我有這個功能,但我只想用母語顯示月份,即替換return "January'

使用<f:translate key="tx_srspcclog_domain_model_myext.january" />

這樣我就可以不那么特定於語言,並像我一樣從語言文件中獲取語言以獲得流暢的視圖。 當您不在流體視圖中而是在 PHP 視圖助手中時如何執行此操作的任何想法

查看 TranslateViewHelper 內部,看看他們是如何做到的(很可能是translate(...)方法),並使用代碼從 XLFF 文件中呈現您自己的標簽

\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($key, $extensionName)

你真正要找的是“%B”。

正如文檔明確指出的那樣, FormatDate ViewHelper 理解 strftime() 和 date() 格式的格式字符串。 strftime 已經內置了本地化功能。您無需自己翻譯任何內容。

https://docs.typo3.org/typo3cms/ExtbaseGuide/Fluid/ViewHelper/Format/Date.html#localized-time-using-strftime-syntax http://php.net/manual/de/function.strftime.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM