带有extbase的Typo3 - 获取特定语言的翻译

时间:2015-11-16 15:50:18

标签: php typo3 extbase

我编写了一个后端挂钩,这样我就可以在一个项目设置为typo3中的hidden = 0时立即编写通知电子邮件。我设法访问LocalizationUtility来访问我的翻译文件,如下所示:

    public void PayPalActivityResult(int requestCode, int resultCode, Intent intent) {
        switch (resultCode) {
        case Activity.RESULT_OK:
            // The payment succeeded
            String payKey = intent.getStringExtra(PayPalActivity.EXTRA_PAY_KEY);
            Log.d("payKey", payKey+"");
            this.paymentSucceeded(payKey);
            break;
        case Activity.RESULT_CANCELED:
            this.paymentCanceled();
            break;
        case PayPalActivity.RESULT_FAILURE:
            String errorID = intent.getStringExtra(PayPalActivity.EXTRA_ERROR_ID);
            String errorMessage = intent.getStringExtra(PayPalActivity.EXTRA_ERROR_MESSAGE);
            this.paymentFailed(errorID, errorMessage);
        }
    }

但是如何定义使用哪种语言?翻译函数似乎不需要语言参数,因此如何使用其他语言获取文本?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以使用readLLfile方法通过languagekey获取特定的翻译。这将返回$ file中所有已翻译字符串的数组。

$fd = GeneralUtility::readLLfile($file, $langKey);

答案 1 :(得分:1)

您无法以这种方式使用Typo3翻译 - Typo3将始终转换为当前语言范围。

根据this answer我认为你能做到的唯一方法是将你的翻译保持在Typo3之外(数组或类似),然后进行自己的翻译,而不是使用内置的Typo3