好吧,这听起来有点奇怪,但我需要做的很简单.我有一个公司列表,每个公司都有一个描述.该网站有4种语言版本.我的问题来自于我用英语列出一家公司,但负责翻译法语的人仍然没有翻译,所以我有一个简单的说法:
SELECT TOP(6)
company.name,
company.description,
company.address
WHERE
langid=1
ORDER BY
company.id DESC
Run Code Online (Sandbox Code Playgroud)
真正的查询更复杂,但我认为用这个来理解问题会更容易.我需要做的是,当langid 2中的描述为空时,然后向我显示langid 1,因为langid 1总是第一个将被添加的.我不想将描述字段显示为空.
想象第1行,第2行,第3行和第5行都有langid 2的描述,但没有第4行和第6行的描述.我需要为包含它的行显示langid 2,但对于没有描述的行,则需要langid 1.
我知道我可能会用@i字段递增并在临时表中逐个插入结果,但有没有更好的方法呢?
我希望在我的rails应用程序中获得希腊语支持消息/闪存等.我快速浏览了I18n框架,但似乎很多配置都非常简单.我应该有一个非常简单的方法来做这样的事情,但(显然)我不知道.如果有人愿意帮助我,我会很高兴.谢谢.
我正在开发一种名为英语,西班牙语和德语的三种语言的Android应用程序.首先,我用英语完成了开发,并希望用其他两种语言完成它.我的问题是:
我是否可以在同一项目中使用不同包名称的其他两种语言使用相同的Android项目代码(英文版)?.
请帮我提供示例代码/链接.
我目前正在开发一个可以用3种不同语言查看的网站.我已将所有文本放入语言文件中,几乎所有内容都按预期工作.像分配配置这样的东西我已经放入配置文件并进入application/config,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config['num_links'] = 2;
$config['full_tag_open'] = '<p class="pagination">';
$config['full_tag_close'] = '</p>';
$config['first_link'] = '« ' . lang('first');
$config['last_link'] = lang('last') . ' »';
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我已经尝试了相同的表单验证配置文件,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config = array(
'login' => array(
array(
'field' => 'login_email',
'label' => lang('emailaddress'),
'rules' => 'trim|required|valid_email|min_length[6]'
),
array(
'field' => 'login_password',
'label' => lang('password'),
'rules' => 'trim|required'
),
),
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.看起来这个配置文件在语言文件/库之前加载.说实话,目前我并不知道如何解决这个问题,除了再次从配置文件中取出所有内容,并将其放入控制器,但我宁愿不这样做.
任何想法如何解决这一问题?
我目前正在研究包含多语言数据的.net 4.5应用程序.
我是新手,所以我正在寻找解释诸如不同语言编码,全球化,本地化等概念的资源.
关于我应该在哪里寻找这些信息的任何提示?
我目前正在使用codeigniter 2.1.2构建一个网站.现在我遇到了有效构建多语言网站的问题.
我已经阅读了语言课程教程和助手,我已经存储了两个语言文件夹"Chinese"和"English".
我打算做的是我想要一个名为"lang"的语言会话变量.我想要以下内容:
我是PHP和Codeigniter的新手,我现在能想到的就是以下内容.任何人都能发挥一些亮点,因为我如何有效地允许用户更改我的网站上的语言?
我不知道如何在用户的点击事件中更改会话变量.
// Load Language Files
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
$lang = 'english';
} else {
$lang = 'chinese';
}
$this->lang->load('pages/header',$lang);
Run Code Online (Sandbox Code Playgroud)
我创建了一个语言控制器并设置了会话变量,然后将页面重定向回上一页.这是一个好方法吗?
<?php
Class language Extends CI_Controller {
function index() {
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
} else {
$lang = $this->session->userdata('lang');
if ($lang =="chinese") {
$this->session->set_userdata('lang','english');
} elseif ($lang == "english") {
$this->session->set_userdata('lang','chinese');
} else {
$this->session->set_userdata('lang','english');
}
}
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个适用于多种语言的网站,我正在寻找一个 php 函数来从跨多种语言的字符串中去除所有垃圾。
示例:我将以下内容以印地语插入到我的数据库中,但对于其他语言也是如此。
??????? ?? ????? ???????? ????? ????...\'
所以你可以看到我得到了不需要的 ...\' 字符。
这并不适用于多种语言
$newString = preg_replace('/[^a-z0-9]/i', ' ', $text);
Run Code Online (Sandbox Code Playgroud)
我也试过,我真的不明白这里发生了什么,这也不起作用。
$newString = preg_replace(''/^[\p{L}\p{M}\p{Nd}]{2,}$/u'', ' ', $text);
Run Code Online (Sandbox Code Playgroud)
我真的只需要去掉键盘上不是字母或数字的所有东西,即
!@£$%^&*()_+=.<>/, etc etc
Run Code Online (Sandbox Code Playgroud)
我不确定字符串中的 ...\' 是否真的不是它看起来的样子,如果这有意义的话,因为如果我跑了。
$newString = str_replace("...\'", "", $text);
Run Code Online (Sandbox Code Playgroud)
这是我第一次真正深入了解多语言。
我是否正确理解MVC?
我已经阅读了teresko用户的许多帖子,我想我终于理解了现代MVC的真实概念.我制作了一个关于我如何理解它的图表,我希望有人可以为我确认这一点,也许这个图表可以帮助其他一些用户.

我的计划目录结构是"智能"吗?
另外我想进入文件夹结构.我不太确定我打算使用一种非常聪明/有效的方法来构建它们.在我的根目录中,我有4个文件夹.该模型文件夹 中包含3个子目录称为data_mappers,domain_objects和服务.该演示文件夹中包含2个子目录称为自然美景和控制器.我的根目录中的第三个文件夹是我不太确定的名为lib的文件夹之一,还包含另外3个子文件夹,脚本,主题和模板(这是一个适合视图调用的模板的地方吗?) .我拥有的最后一个文件夹称为配置(如果有人能想到更好的名称建议,欢迎使用).这是我将放置路由器和基类以及该类型的任何文件的地方.我不只是想用我的框架来实现功能,我希望它在技术上合理,任何建议/建议都是受欢迎的,我想在开始制作索引和路由器等之前确保我的理解是正确的.我不必重新开始.谢谢
这是一种关于MVC多语言支持的好方法吗?
(稍微偏离主题,但我需要将其纳入规划我的MVC框架,它可能对其他用户有所帮助,并且为了清楚简洁地回答问题,需要理解网站的结构,并且恰好是在上面详细描述)
我的网站必须以英语和法语提供,我恰好都会说.我计划在模板文件夹中创建另外两个子文件夹,一个名为en和另一个fr,只需将所有英文模板放在en文件夹中并将它们翻译成法语并将它们放在fr文件夹中并设置网站以便www .mywebsite.com/en/home以英文显示模板,www.mywebsite.com/fr/home显示法文模板.
将有一个主要的语言选择页面,将您重定向到en或fr.然后,我计划将2个字母的语言代码存储在$ _SESSION变量中.视图将使用此$ _SESSION变量来选择要显示的模板.这是我在旧版本的网站上完成它的方式.这是在MVC中实现多语言支持的好方法还是有更好的方法?
如果我想让网址也出现在法语中怎么办?如果我将视图文件放在更多的子文件夹中,而不是像这样命名它们:"/ presentation/views/news/news.php"将它们命名为:"/ pre sentation/views/news_nouvelles/news.php"然后make路由器(网址和路由是我的弱点之一,但我将自己学习;)将"_"之前的所有内容存储在与英文网址对应的变量中,以及与法语网址对应的所有内容.这只是一个理论,我还没有尝试过最后一段中的内容,多语言支持更多是讨论而不是问题,尽管再一次,它是相关的,因为需要彻底了解我的框架才能回答/讨论语言支持.
我看过许多使用多语言模型处理的解决方案。但是它们都不是很容易应用,包括不适用于南方。我观看的应用程序来自:
好吧,我考虑了 KISS(Keep It simple Stupid)为我自己尝试了一个解决方案,这是我的分析和解决方案,基于我的特定需求(只有两种语言,西班牙语作为默认语言):
我可以使用特定语言创建字段,因为我只会使用英语和西班牙语,而且非常简单
class Country(models.Model):
name = models.CharField('Pais', max_length=80)
name_en = models.CharField('Country', max_length=80, blank=True, null=True)
class Meta:
verbose_name = 'Pais'
verbose_name_plural = 'Paises'
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)我可以创建一个自定义模板标签,为我提供所需的字段:
@register.tag(name='get_model_translate')
def do_translation(parser, token):
try:
tag_name, o_model, field = token.split_contents()
except ValueError:
raise template.TemplateSintaxError(u'Los parámetros no son válidos')
return Translate(tag_name, o_model, field)
class Translate(template.Node):
def __init__(self, tag_name, o_model, field):
self.tag_name = tag_name
self.o_model = template.Variable(o_model)
self.field = field
def render(self, context):
lang_code = context.get('request').LANGUAGE_CODE
o_model = …Run Code Online (Sandbox Code Playgroud)如果我使用clang 3.8.1编译:
extern "C" {
int foo(int x) { register int y = x; return y; }
}
int main() { return foo(123); }
Run Code Online (Sandbox Code Playgroud)
我收到警告:
a.cpp:3:18: warning: 'register' storage class specifier is deprecated and incompatible with C++1z [-Wdeprecated-register]
int foo(int x) { register int y = x; return y; }
^~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
...我真的不应该得到,因为内部函数是C代码.如果我使用GCC 6.3.1,即使有-Wall,我也不会收到此警告.
这是一个铿锵的错误还是我做错了什么?
multilingual ×10
php ×3
codeigniter ×2
android ×1
c# ×1
c++ ×1
case ×1
clang++ ×1
django ×1
extern-c ×1
java ×1
localization ×1
preg-replace ×1
python ×1
select ×1
sql ×1
t-sql ×1
validation ×1