[英]Translate url parameters as place holder
我想知道如何翻译 ZF2 中带有参数的 URL。
例如:
/{:language_link-schools-:city_link}
我不做的原因:
/:language_link-{schools}-:city_link
这是因为在某些语言中,例如西班牙语,单词的顺序会发生变化。
我正在使用 PhpArray,当我翻译它时,参数不会被替换,因此 URL 呈现为(例如西班牙语):
/:language_link-escuela-:city_link
而不是预期的行为:
/ingles-escuela-miami
编辑:
参数是:language_link
和:city_link
所以这个想法是在一种语言中呈现的 URL 可以是:
/:language_link-schools-:city_link
在另一种语言中,它可能是:
/:language_link-:city_link-school
与翻译语句时所做的类似:
sprintf($this->translate('My name is %s'), $name) ;
PHP 中有一个名为strtr
的函数。 它允许将任何模式转换为值。
通过您的示例,我们可以执行以下操作:
如果字符串是这样的: /:language_link-escuela-:city_link
然后您可以执行以下操作
<?php
$rawUrl = "/:language_link-escuela-:city_link";
$processedUrl = strtr($rawUrl, [
':language_link' => 'es',
':city_link' => 'barcelona',
]);
echo $processedUrl; // Output: /es-escuela-barcelona
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.