CentOS Mono程序的国际化文件

系统 Linux
我当时也不知怎么解决,在CentOS Mono的bugzilla中提交了一个bug,迟迟未见closed,所以没有给这些朋友回信,在次说声soory。现在,CentOS Mono能够较好的处理国际化的问题,我在此也把我的研究心得发布在这里,希望能和热爱CentOS Mono、热爱dotnet的朋友们一起分享、一起探讨。

CentOS Mono是常用系统,于是我学习研究了CentOS Mono,在这里对大家详细介绍下CentOS Mono系统应用,希望对大家有用。去年发表了CentOS Mono开发指南的系列文章后,我基本没再写关于CentOS Mono方面的东西,主要近两年做Java方面的平台,较少采用dotnet方面的东西。还有一个问题,就是CentOS Mono的中文问题,使我很少花时间在它的上面。

以前使用CentOS Mono时,你看我以前的文章的举例,我都极力回避中文问题,所写的cs文件里面没有一个汉字。这是因为以前的CentOS Mono国际化方面实在是太弱了。也有很多朋友发email给我,询问我关于中文如何处理.

我当时也不知怎么解决,在CentOS Mono的bugzilla中提交了一个bug,迟迟未见closed,所以没有给这些朋友回信,在次说声soory。现在,CentOS Mono能够较好的处理国际化的问题,我在此也把我的研究心得发布在这里,希望能和热爱CentOS Mono、热爱dotnet的朋友们一起分享、一起探讨。

首先说一下我的环境:asus+fedora 3 + CentOS Mono 1.1。Locale设置全部为zh_CN.gb2312。在这篇文章中,我先来介绍一下如何处理以前困扰大家的中文问题。下一篇文章我将介绍程序的国际化。

使用CentOS Monodevlop建立一个Console工程,名称为Test。编辑Main.cs文件:

  1. using System;  
  2. class MainClass  
  3. {public static void Main(string[] args)  
  4. {Console.WriteLine("兄弟的email地址为:smallnest@gmail.com"); 

在CentOS Monodevelop中运行,在输出窗口会显示正确的结果。打开终端,进入到./bin/Debug目录下,运行CentOS Mono Test.exe,显示乱码。这和我的环境设置有关,将终端的编码设置为utf8,再运行CentOS Mono Test.exe,结果显示正常。

以上编译是通过CentOS Monodevelop编译的,下面手工编译一下,试试效果。进入Main.cs所在的文件夹:mcs Main.cs执行上述命令后将生成Main.exe文件,运行这个文件。

CentOS Mono Main.exe输出结果为乱码(无论终端编码是gb2312还是utf8)。通过设置代码页进行编译:mcs –codepage:utf8 Main.cs执行上述命令后将生成Main.exe文件,运行这个文件。CentOS Mono Main.exe输出结果为正常(终端编码是utf8)。

小技巧:

每次运行CentOS Mono编译得程序都必须使用CentOS Mono *.exe,比较麻烦,我们页可以在Linux下创建文件关联。执行下面得shell就不必每次都运行CentOS Mono文件了。

  1. if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then  
  2. /sbin/modprobe binfmt_misc mount -t binfmt_misc none /proc/sys/fs/binfmt_misc  
  3. fi   
  4. if [ -e /proc/sys/fs/binfmt_misc/register ]; then  
  5. echo ':CLR:M::MZ::/usr/bin/CentOS Mono:' > /proc/sys/fs/binfmt_misc/register  
  6. else  
  7. echo "No binfmt_misc support" exit 1  
  8. fi 

【编辑推荐】

  1. CentOS VMware安装ROR运行环境
  2. CentOS wget使用技巧使用指南常见用法使用格式
  3. CentOS tomcat普通用户执行配置安装
  4. CentOS sensors软件监控主板CPU数据
  5. CentOS FastCGI最大化性能挥其性能优势
责任编辑:佚名 来源: csdn
相关推荐

2011-05-17 09:39:38

JavaSE

2011-07-08 11:13:42

Cocoa Touch XCode

2011-08-29 09:48:30

springMVC

2009-06-05 09:40:59

2010-07-28 14:52:29

Flex国际化

2024-01-17 10:16:22

前端国际化消息键

2023-01-31 10:29:26

JavaScript国际化国际化库

2009-06-25 16:04:30

2010-01-04 13:09:51

Silverlight

2011-08-19 13:13:14

struts2Java

2009-01-19 09:06:31

gettextPHP国际化编程

2009-06-03 08:30:30

禚佳春法航华为

2024-01-04 08:16:34

Spring国际化标准

2009-12-29 15:05:29

WPF支持国际化

2009-02-04 15:04:13

2017-01-09 16:24:07

滴滴Android 端 App

2022-07-27 10:39:14

Spring代码IDEA

2015-03-13 09:50:46

2011-07-20 14:53:28

iPhone NSLocalize 国际化

2011-08-18 15:24:40

iPhone国际化
点赞
收藏

51CTO技术栈公众号