中医 西班牙语 PHP,关于php 5.3:PHP数字到单词西班牙语!

有没有人知道一个免费许可的PHP代码,可以将数字转换成西班牙语的单词?

我的工作需要它来生成账单,所以它需要准确。

我对西班牙语的了解几乎不存在,所以很难自己写出来; 我对西班牙语语一无所知。

编辑:我已经写了我自己的版本,现在它仅适用于3位数字(在小数点的两边),但这是一个好的开始。 如果我说得很大(5种语言计划atm),我可能会在github上分享它。 不要赌它。

你的意思是将一个字面数字翻译成该数字的西班牙语单词吗?

@jurchiks代码示例非常有用。 你想尝试按照echo translate(100); // ciento的方式做点什么吗?

@Jonathan - 是的,类似的东西,用西班牙语拼写正确的数字; 不只是单独的数字,整数。

除了@bazmegakapa的perl答案之外,请查看php的number_format手册页上的这条评论,翻译成英文。

但这是否符合GRAMMATICALLY正确?

您可以使用PHP Intl扩展来执行此操作。

if (version_compare(PHP_VERSION, '5.3.0', '

|| !class_exists('NumberFormatter')) {

exit('You need PHP 5.3 or above, and php_intl extension');

}

$formatter = new

umberFormatter('es',

umberFormatter::SPELLOUT);

echo $formatter->format(1234567) ."

";

输出:

un millón doscientos treinta y cuatro mil quinientos sesenta y siete

它不仅适用于西班牙语,也适用于许多其他语言。

请看一下,谢谢!

有没有一种简单的方法可以将数字转换为PHP中的单词?

从上面开始,您可以从数字中导出"单词",然后使用任何Translate API将其翻译成您喜欢的任何语言......或者您自己的查找。

编辑

您可以采用的另一种方法是在PHP文件或文本文件中硬编码大量值:

$numTranslation = array(1 =>"uno", 2 =>"dos");

然后,在您的代码中,如果数字为2则只检索echo $numTranslation[2]以打印出西班牙语等效项。

编辑2

只是为了让它更完整,如果你想支持多种语言,而不仅仅是西班牙语:

$numTranslation = array(

1 => array("en" =>"One","es" =>"uno"),

2 => array("en" =>"Two","es" =>"dos")

);

并将其打印给最终用户:echo $numTranslation[2]['es'];以获得西班牙语等价物......

你确定这是正确的吗?这将是直接翻译,与使用谷歌翻译一样,你知道它可能会结束。我已经有一个英文number2words代码,但翻译不是一个好主意。

如果你对翻译API有隐含的信心,那就去吧......如果你想要绝对确定,你需要为翻译维护自己的字典......或者在数字和单词之间创建简单的1:1查找。数组或文本文件

@jurchiks:我想如果你只使用例如翻译数字谷歌翻译,那你就没事了。数字是具体而明确的,因此自动翻译软件很容易。特别是因为目标语言是西班牙语,这是一种比大多数语言更常规的语言。

这是任何语言转换器的基本结构,但语法差异使得它比这更难,除非你真的想要写出每个数字高达数百万或更高。每个转换器之间的主要思想是制定某种算法来制作合理的字符串,同时仍然保持正确的语法,并使用尽可能少的代码来完成所有这些。

看到我答案的第一部分......

我唯一能找到的是Perl脚本。

代码本身很容易用PHP编写,从Perl脚本中你可以获得数字的逻辑和西班牙语单词。

我对Perl完全不熟悉;试着读它,很难理解。我需要几个小时才能正确地获得逻辑......而且,这段代码非常混乱;如此多的ELSE并没有完全优化......

这是......

1到100

http://www.top-tour-of-spain.com/1-100-Numbers-In-Spanish.html

100+

http://www.intro2spanish.com/vocabulary/numbers/advanced.htm

要么

http://www.donquijote.org/spanishlanguage/numbers/numbers2.asp

我在这里找到了一些格式很好的VBA:

http://www.excelforum.com/excel-programming/637231-translating-numbers-into-words.html

VBA?问题已被'php'标记

好的,这有很大的帮助,我会尝试用它编写我自己的转换器(不是VBA代码):)

@Jamie,前两个链接显示了语言规则(供参考)和最终链接(注意我确实说它是VBA),因为它显示规则和格式化代码,可以很容易地转换为PHP。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值