--- OOo_2.1.0ori/sw/source/filter/ww8/writerwordglue.cxx 2006-12-01 18:57:39.000000000 +0100 +++ OOE680_m6/sw/source/filter/ww8/writerwordglue.cxx 2006-12-22 10:41:19.250000000 +0100 @@ -968,16 +968,43 @@ nLen++; } - if(rLang == LANGUAGE_GERMAN) + // Deal with language differences in date format expression. + // Should be made with i18n framework. + switch ( rLang ) { - // MM German word documents understand yy and dd. - // We do not, we use jj and tt instead. - if(nChar == 'y' || nChar == 'Y') - rParams.SetChar(nI, 'J'); - else if(nChar == 'd' || nChar == 'D') - rParams.SetChar(nI, 'T'); + case LANGUAGE_GERMAN: + { + if (nChar == 'y' || nChar == 'Y') + rParams.SetChar (nI, 'J'); + else if (nChar == 'd' || nChar == 'D') + rParams.SetChar (nI, 'T'); + } + break; + case LANGUAGE_FRENCH: + case LANGUAGE_FRENCH_BELGIAN: + case LANGUAGE_FRENCH_CANADIAN: + case LANGUAGE_FRENCH_SWISS: + case LANGUAGE_FRENCH_LUXEMBOURG: + case LANGUAGE_FRENCH_MONACO: + case LANGUAGE_FRENCH_WEST_INDIES: + case LANGUAGE_FRENCH_REUNION: + case LANGUAGE_FRENCH_ZAIRE: + case LANGUAGE_FRENCH_SENEGAL: + case LANGUAGE_FRENCH_CAMEROON: + case LANGUAGE_FRENCH_COTE_D_IVOIRE: + case LANGUAGE_FRENCH_MALI: + { + if (nChar == 'y' || nChar == 'Y') + rParams.SetChar (nI, 'A'); + else if (nChar == 'd' || nChar == 'D') + rParams.SetChar (nI, 'J'); + } + case LANGUAGE_ITALIAN: + { + if (nChar == 'y' || nChar == 'Y') + rParams.SetChar (nI, 'A'); + else if (nChar == 'd' || nChar == 'D') + rParams.SetChar (nI, 'G'); + } + break; + break; + default: + { + ; // Nothing + } } - } ++nI; }