2

我有带有管理面板的 PHP-MySQL 网站。我可以从管理面板输入数据,它们会显示在用户端网页上。现在,我希望我应该能够从管理面板插入英文文本数据,并且它们应该在用户端以 3 种不同的语言显示。

在用户端,我想为访问者提供选择语言偏好的选项,并且用户端页面应该以该选择的语言显示。现在我完全不知道我需要在用户端页面上进行哪些与编程相关的更改才能实现这一点。

我在互联网上搜索并阅读了一些文章,但坦率地说找不到适合我的情况的解决方案。所以请帮助我。

在我的工作环境中使用/设置了以下内容。

  • 视窗服务器 2003
  • PHP 5.2.17
  • MySQL 5.0.51a (UTF-8 Unicode (utf8))
  • XHTML 1.0 过渡
  • 元字符集=iso-8859-1

提前谢谢你,KRA

4

5 回答 5

1

假设您希望在服务器端 (PHP) 执行翻译,您可以使用file_get_contents它从 Google Translate API 获取数据。然后您需要解析响应并获取翻译文本。您需要获取API KEY才能访问翻译服务。

<?php
$string = 'Hello World';
$source_lang = 'en';
$target_lang = 'zh-CN'

header ( "Content-Type: text/html;charset=utf-8" );
$data = file_get_contents ( 'https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&q='.urlencode($string).'&source='.$source_lang.'&target='.$target_lang ); 
$data = json_decode ( $data );  
$translated = $data->data->translations->[0]->translatedText;
echo $translated;

?>

服务器响应是具有该结构的 JSON 对象:

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt",
                "detectedSourceLanguage": "en"
            }
        ]
    }
}

有关基本概念的更多信息,请访问:http: //baris.aydinoglu.info/coding/google-translate-api-in-php

谷歌翻译 API 查询文档: http ://code.google.com/apis/language/translate/v2/using_rest.html

您可以使用它并将相关数据保存到您的数据库中。您的数据库表中的每种语言可能都有单独的列。管理员输入文本/数据后,您必须使用解决方案对其进行转换并将它们保存到同一行的相关列中。用户可能会根据他们的语言选择从相关列中获得数据。

于 2012-09-05T06:48:07.430 回答
1

假设您将所有语言变量和/或 html 视图分离成某种结构,您总是可以只使用 cookie。

让您的站点检查是否存在所述 cookie,如果不存在,则让站点恢复为默认语言,否则相应地调整语言。

前任:

有一个包含每种语言下拉值的表单,并在提交时设置语言 cookie 变量:

setcookie('userLanguage',$language_value,strtotime("+1 year"));

第一个参数是 cookie 变量的名称,第二个是值(在本例中是用户的语言选择,第三个是 cookie 的到期日期(我做了一年,但你可以设置为任何你喜欢)。

下一步实际上取决于您的站点的设置方式,但我假设您将语言文本保存在数据库中或以某种智能方式处理。无论哪种方式,您都需要检索 cookie:

if ($_COOKIE['userLanguage'] <> '')
  // Do some language stuff here based on the value of $_COOKIE['userLanguage']
else
  // Do some stuff here for default language

就是这样。有很多不同的方法可以处理实际的语言转换,但获取用户偏好并记住它的行为几乎就是这样基本的。

于 2012-09-05T06:33:18.163 回答
0

在您的网站中使用语言文件。

例如,对于英语 -en.php 对于法语 -fr.php

该文件将具有将在前端用户端使用的变量。用户可以选择任何语言,并且在选择时,您的代码将加载以下语言

在你的情况下,你正在使用数据库,所以你可以在你的表中而不是数据库中拥有这个东西

因此,您的 Front 文件将由变量而不是 Text 组成,并且当用户选择一种语言时,此变量将被语言变量替换(来自数据库或来自文件,由您选择)

是的,您需要输入默认语言。

使用以下链接来实施:-

http://scriptdigital.com/divers/phplocalization.html
http://www.mind-it.info/2010/02/22/a-simple-approach-to-localization-in-php/
http://code.google.com/p/slsphp/
于 2012-09-05T06:38:19.457 回答
0

使用此方法。

它为我工作。

使用 PHP 在网站上切换语言

我在 oyutrade.com 上做过

于 2012-09-05T06:42:26.953 回答
0

这在很大程度上取决于您如何存储文本数据。如果你有它在一个数据库(mysql)中,那么我建议你有一个代表语言的列。然后你可以有一个会话变量或一个特定的 url 或其他东西,可以让你知道用户正在请求哪种语言。

你需要的是某种方法来确定你的用户想要什么样的语言,然后就很容易了。

你有没有尝试过什么?

于 2012-09-05T06:35:41.330 回答