我想以客户的语言提供我网站的主页.因为站点位于一个位置,但可以通过任意数量的国家/地区访问.所以我希望在所请求的客户端浏览器的语言中有主页.
还有一点很重要,即假设服务器不支持客户端语言,那么站点应该以后备语言显示.
你有任何示例网站/良好的链接?
我正在建立一个多语种网站.是否可以使用PHP或Javascript检查用户机器上是否安装/支持特定语言?如果不支持/安装语言,我想检测到这一点并向用户显示一条消息.
谢谢,马克.
我正在编写一个包含多种语言的网站,有没有简单的方法或技术来减少将文本更改为另一种语言的工作量.我有一个想法,但我不知道它是否合适或容易.我创建了一个包含我网络中所有文本的XML,当用户更改他们的语言时,我的程序将基于用户选择的语言,并从XML中获取合适的标签,并填写页面.你怎么看?或者还有更简单的方法吗?
(假设我正在使用RoR,如果建议任何宝石.)
我想创建一个多语言网站,但我不希望语言出现在URI中,例如example.com/fr/about(我不想这样).我只是想改变文字语言.我的问题是,我所做的第一种加载语言是永远的.为什么?如果我做:
$this->config->set_item(‘language’,‘english’);
$this->lang->load(‘messages’);
$this->config->set_item(‘language’,‘french’);
$this->lang->load(‘messages’);
Run Code Online (Sandbox Code Playgroud)
要么
$this->lang->load(‘messages’,‘english’);
$this->lang->load(‘messages’,‘french’);
Run Code Online (Sandbox Code Playgroud)
只是英文出现了.我怎样才能解决这个问题?
我的配置语言自动加载是空的.
谢谢您的帮助.
我试过gettext,但我的免费托管不允许它.我想过Zend_translate,但我不想使用框架中的元素,因为我的页面大多是静态的.
所以,我最终得到了这个教程:
http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
作者只使用基本的PHP(不确定),它似乎工作,但我不太确定它是否是一个好的(或常见的)练习,或者它是否会在将来引起我的问题(添加和删除一堆码).
这里是:
common.php:
<?php
session_start();
header('Cache-control: private'); // IE 6 FIX
if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
$lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
$lang = $_COOKIE['lang'];
}
else
{
$lang = 'en';
}
switch ($lang) {
case 'en':
$lang_file = 'lang.en.php';
break;
case 'de':
$lang_file = 'lang.es.php';
break; …Run Code Online (Sandbox Code Playgroud) 如何在多语言Web应用程序中编写正则表达式来验证名称字段,我想验证非英语语言的名称字段,例如西班牙语或德语,我们需要确保没有人输入数字或特殊字符.我正在使用.NET 2.0
我相信我们不能将下面的表达用于非英语语言.
^[a-zA-Z]{1,20}$
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感谢!
我得到了这个正则表达式,当我使用Regex Builder时,它可以工作,但是当我在实际的Web应用程序中尝试它时它会失败:
^\p{L}[\p{L}\p{Pd}\x27]*\p{L}$
Run Code Online (Sandbox Code Playgroud) 我正在编写自定义处理程序拦截器以获得多语言URL地址.例如,当用户访问uri时/de/auto,将出现deutsch内容,当用户访问时,/en/car将出现英语内容.我希望两个请求都重定向到同一个控制器和相同的方法:
@Controller
public class MultiLangController {
@RequestMapping(value="/en/car", method = RequestMethod.GET)
public @ResponseBody String writePage() {
return "some content";
}
Run Code Online (Sandbox Code Playgroud)
我的拦截器是这样实现的(简化版):
public class MultiLangInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
String requestUrl = request.getRequestURI().substring(request.getContextPath().length());
if ("/de/auto".equals(requestUrl)) {
String redirect = request.getContextPath() + "/en/car";
response.sendRedirect(redirect);
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我/en/car在浏览器中访问url时,返回正确的页面(带有"some content"消息),日志显示请求通过我的拦截器传递.当我访问时/de/auto,返回404错误并根据日志请求没有进入我的拦截器.但为什么?不应该请求通过所有拦截器,直到其中一个拦截器通过返回false来阻止它?
为清楚起见,我没有使用,mvc:annotation-driven因为它隐藏了我的自定义拦截器.我已经定义了所有的手段
<bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors"> …Run Code Online (Sandbox Code Playgroud) 我有一个Windows Store应用程序(Windows 8),当前正在使用“多语言工具包”将许多字符串翻译成多种语言。不幸的是,这样做使我的应用程序的每个构建都需要6分钟以上的时间!这对我的应用程序进行了细微的改动,使我的工作流程彻底瘫痪。
有什么办法可以在不影响我的任何语言文件的情况下暂时禁用Multilingual App Toolkit,以便我可以进行快速开发,但仍然能够像以前一样使用Multilingual Toolkit?
c# multilingual windows-8 windows-runtime windows-store-apps
我正在使用Typo3 v6.1,并尝试设置多语言站点。问题是我无法更改默认语言标签。我究竟做错了什么?
###################################################
# language handling
###################################################
mod.SHARED {
defaultLanguageFlag = de
defaultLanguageLabel = Deutsch
}
config {
sys_language_uid = 0
language = de
locale_all = de_DE.UTF-8
htmlTag_langKey = de_DE
}
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
locale_all = en_GB.UTF-8
htmlTag_langKey = en_GB
}
[end]
Run Code Online (Sandbox Code Playgroud)
因此语言设置可以正常工作,并且我可以本地化页面,但是默认语言(uid = 0)仍显示为“ Default”而不是“ Deutsch”。我以为也许我正在使用旧设置,并尝试通过Typo3内核进行调试,但看起来这些设置仍在多个地方使用,这是其中之一:
#/typo3/sysext/backend/Classes/Configuration/TranslationConfigurationProvider.php
$languageIconTitles[0] = array(
'uid' => 0,
'title' => strlen($modSharedTSconfig['properties']['defaultLanguageLabel']) ? $modSharedTSconfig['properties']['defaultLanguageLabel'] . ' (' . $GLOBALS['LANG']->sl('LLL:EXT:lang/locallang_mod_web_list.xlf:defaultLanguage') . …Run Code Online (Sandbox Code Playgroud) 我已经很清楚使用string.xml代码制作一个Android多语言应用程序是多么容易.那部分很好很容易.
问题是我的应用程序中有很多动态文本是用我的Java代码制作的.这是我无法找到如何制作多语言的部分.我想象一个解决方案的方式是在某种条件下我会验证它所使用的语言,并更改字符串.例如:
if(language.equals(English))
textView1.setText("Hi! This is in English!");
if(language.equals(Portuguese))
textView1.setText("Oi! Isso é em Português!");
Run Code Online (Sandbox Code Playgroud)
我有可能做这样的事情吗?如果是这样,我该怎么办?
谢谢!
multilingual ×10
c# ×2
java ×2
php ×2
.net ×1
android ×1
asp.net-2.0 ×1
codeigniter ×1
dynamic-text ×1
interceptor ×1
javascript ×1
localization ×1
rubygems ×1
spring ×1
typo3 ×1
typo3-6.1.x ×1
typoscript ×1
url ×1
windows-8 ×1