@Override
	public String translate(String language, String word)
	{
		final StringBuffer sbw=new StringBuffer(word);
		Vector<Integer> V=getSChoices(sbw);
		if(V.size()>0)
			sbw.insert(V.elementAt(CMLib.dice().roll(1,V.size(),-1)).intValue()+1,'h');
		if(CMLib.dice().rollPercentage()<50)
			return fixCase(word,sbw.toString());

		V=getVChoices(sbw);
		if(V.size()>0)
		switch(CMLib.dice().roll(1,3,0))
		{
		case 1:
			{
				final int x=V.elementAt(CMLib.dice().roll(1,V.size(),-1)).intValue();
				for(int i=0;i<CMLib.dice().roll(1,5,0);i++)
					sbw.insert(x+1,sbw.charAt(x));
				break;
			}
		case 2:
			{
				final int x=V.elementAt(CMLib.dice().roll(1,V.size(),-1)).intValue();
				for(int i=0;i<CMLib.dice().roll(1,5,0);i++)
					sbw.insert(x+1,"-"+sbw.charAt(x));
				break;
			}
		case 3:
			{
				final int x=V.elementAt(CMLib.dice().roll(1,V.size(),-1)).intValue();
				sbw.insert(x+1,"sh");
				break;
			}
		}
		return fixCase(word,sbw.toString());
	}