我想用 PHP 开发一个多语言页面,例如英语/德语/日语.. 所以当我点击德语时,页面语言将变为德语,然后我点击英语,它变为英语。请指导我这样做。提前致谢....
最佳答案
奇怪的是,这么多php开发者似乎都认为所有的自然语言都有相同的语法。制作没有参数的翻译框架是不可能的。虽然字符串 $lang['welcomeTo'] $sitename
可能对大多数语言都能正确翻译(欢迎使用 stackoverflow),但对于土耳其语它却失败了,例如它应该是 $sitename $lang[' welcomeTo']
(stackoverflow'a hos geldiniz) 或德语,其中任何一种方式都是可能的 (Willkommen auf stackoverflow/Stackoverflow heißt Sie willkommen)。当您尝试翻译包含多个变量的句子时,情况会变得更糟。
唯一的选择是使用参数化翻译(比如:函数)
Language::getCurrentLanguage()->translate('welcomeTo', array('sitename' => $sitename));
# Translation file for english (configfile-style):
welcomeTo=Welcome to $sitename
# Translation file for turkish:
welcomeTo=$sitename'a hos geldiniz
# Translation file for german:
welcomeTo=Willkommen auf $sitename
# Or
welcomeTo=$sitename heißt sie willkommen
简而言之:如果您想要真正的 i18n,请使用函数来检索您的翻译,而不是变量。您可能想查看 intl也是 php 的扩展。
关于php - 在 PHP 中创建多语言网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/776807/