/* $Id: test2.c,v 1.1.1.1 2005/08/12 16:41:12 dodell Exp $ * test i18n */ #include #include "i18n.h" char *tags[] = { "test1", "test2", "test3", "test4", "test5", "test6", "test7", "test8", "test9", "test10", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test27", "test28", "test29", "test30", "test31", "test32", "test33", "test34", "test35", "test36", "test37", "test38", "test39", "test40", "test41", "test42", "test43", "test44", "test45", "test46", "test47", "test48", "test49", "test50", "test51", "test52", "test53", "test54", "test55", "test56", "test57", "test58", "test59", "test60", "test61", "test62", "test63", "test64", "test65", "test66", "test67", "test68", "test69", "test70", "test71", "test72", "test73", "test74", "test75", "test76", "test77", "test78", "test79", "test80", "test81", "test82", "test83", "test84", "test85", "test86", "test87", "test88", "test89", "test90", "test91", "test92", "test93", "test94", "test95", "test96", "test97", "test98", "test99", "test100", "test101", "test102", "test103", "test104", "test105", "test106", "test107", "test108", "test109", "test110", "test111", "test112", "test113", "test114", "test115", "test116", "test117", "test118", "test119", "test120", "test121", "test122", "test123", "test124", "test125", "test126", "test127", "test128", "test129", "test130", "test131", "test132", "test133", "test134", "test135", "test136", "test137", "test138", "test139", "test140", "test141", "test142", "test143", "test144", "test145", "test146", "test147", "test148", "test149", "test150", "test151", "test152", "test153", "test154", "test155", "test156", "test157", "test158", "test159", "test160", "test161", "test162", "test163", "test164", "test165", "test166", "test167", "test168", "test169", "test170", "test171", "test172", "test173", "test174", "test175", "test176", "test177", "test178", "test179", "test180", "test181", "test182", "test183", "test184", "test185", "test186", "test187", "test188", "test189", "test190", "test191", "test192", "test193", "test194", "test195", "test196", "test197", "test198", "test199", "test200", "test201", "test202", "test203", "test204", "test205", "test206", "test207", "test208", "test209", "test210", "test211", "test212", "test213", "test214", "test215", "test216", "test217", "test218", "test219", "test220", "test221", "test222", "test223", "test224", "test225", "test226", "test227", "test228", "test229", "test230", "test231", "test232", "test233", "test234", "test235", "test236", "test237", "test238", "test239", "test240", "test241", "test242", "test243", "test244", "test245", "test246", "test247", "test248", "test249", "test250", "test251", "test252", "test253", "test254", "test255", "test256", "testlong", "testverylong", "testvarfoo", "testvarfoo2", "testing123", "testmultinum", "fail1", "fail2", "fail3", "fail4", "fail5", "fail6", "fail7", "fail8", "fail9", "fail10", NULL }; char *strings[] = { "Test string 1: [[test1]]", "Test string 2: [[test2]]", "Test string 3: [[test3]]", "Test string 4: [[test4]]", "Test string 5: [[test5]]", "Test string 6: [[test6]]", "Test string 7: [[test7]]", "Test string 8: [[test8]]", "Test string 9: [[test9]]", "Test string 10: [[test10]]", "Test string 11: [[test11]]", "Test string 12: [[test12]]", "Test string 13: [[test13]]", "Test string 14: [[test14]]", "Test string 15: [[test15]]", "Test string 16: [[test16]]", "Test string 17: [[test17]]", "Test string 18: [[test18]]", "Test string 19: [[test19]]", "Test string 20: [[test20]]", "Test string 21: [[test21]]", "Test string 22: [[test22]]", "Test string 23: [[test23]]", "Test string 24: [[test24]]", "Test string 25: [[test25]]", "Test string 26: [[test26]]", "Test string 27: [[test27]]", "Test string 28: [[test28]]", "Test string 29: [[test29]]", "Test string 30: [[test30]]", "Test string 31: [[test31]]", "Test string 32: [[test32]]", "Test string 33: [[test33]]", "Test string 34: [[test34]]", "Test string 35: [[test35]]", "Test string 36: [[test36]]", "Test string 37: [[test37]]", "Test string 38: [[test38]]", "Test string 39: [[test39]]", "Test string 40: [[test40]]", "Test string 41: [[test41]]", "Test string 42: [[test42]]", "Test string 43: [[test43]]", "Test string 44: [[test44]]", "Test string 45: [[test45]]", "Test string 46: [[test46]]", "Test string 47: [[test47]]", "Test string 48: [[test48]]", "Test string 49: [[test49]]", "Test string 50: [[test50]]", "Test string 51: [[test51]]", "Test string 52: [[test52]]", "Test string 53: [[test53]]", "Test string 54: [[test54]]", "Test string 55: [[test55]]", "Test string 56: [[test56]]", "Test string 57: [[test57]]", "Test string 58: [[test58]]", "Test string 59: [[test59]]", "Test string 60: [[test60]]", "Test string 61: [[test61]]", "Test string 62: [[test62]]", "Test string 63: [[test63]]", "Test string 64: [[test64]]", "Test string 65: [[test65]]", "Test string 66: [[test66]]", "Test string 67: [[test67]]", "Test string 68: [[test68]]", "Test string 69: [[test69]]", "Test string 70: [[test70]]", "Test string 71: [[test71]]", "Test string 72: [[test72]]", "Test string 73: [[test73]]", "Test string 74: [[test74]]", "Test string 75: [[test75]]", "Test string 76: [[test76]]", "Test string 77: [[test77]]", "Test string 78: [[test78]]", "Test string 79: [[test79]]", "Test string 80: [[test80]]", "Test string 81: [[test81]]", "Test string 82: [[test82]]", "Test string 83: [[test83]]", "Test string 84: [[test84]]", "Test string 85: [[test85]]", "Test string 86: [[test86]]", "Test string 87: [[test87]]", "Test string 88: [[test88]]", "Test string 89: [[test89]]", "Test string 90: [[test90]]", "Test string 91: [[test91]]", "Test string 92: [[test92]]", "Test string 93: [[test93]]", "Test string 94: [[test94]]", "Test string 95: [[test95]]", "Test string 96: [[test96]]", "Test string 97: [[test97]]", "Test string 98: [[test98]]", "Test string 99: [[test99]]", "Test string 100: [[test100]]", "Test string 101: [[test101]]", "Test string 102: [[test102]]", "Test string 103: [[test103]]", "Test string 104: [[test104]]", "Test string 105: [[test105]]", "Test string 106: [[test106]]", "Test string 107: [[test107]]", "Test string 108: [[test108]]", "Test string 109: [[test109]]", "Test string 110: [[test110]]", "Test string 111: [[test111]]", "Test string 112: [[test112]]", "Test string 113: [[test113]]", "Test string 114: [[test114]]", "Test string 115: [[test115]]", "Test string 116: [[test116]]", "Test string 117: [[test117]]", "Test string 118: [[test118]]", "Test string 119: [[test119]]", "Test string 120: [[test120]]", "Test string 121: [[test121]]", "Test string 122: [[test122]]", "Test string 123: [[test123]]", "Test string 124: [[test124]]", "Test string 125: [[test125]]", "Test string 126: [[test126]]", "Test string 127: [[test127]]", "Test string 128: [[test128]]", "Test string 129: [[test129]]", "Test string 130: [[test130]]", "Test string 131: [[test131]]", "Test string 132: [[test132]]", "Test string 133: [[test133]]", "Test string 134: [[test134]]", "Test string 135: [[test135]]", "Test string 136: [[test136]]", "Test string 137: [[test137]]", "Test string 138: [[test138]]", "Test string 139: [[test139]]", "Test string 140: [[test140]]", "Test string 141: [[test141]]", "Test string 142: [[test142]]", "Test string 143: [[test143]]", "Test string 144: [[test144]]", "Test string 145: [[test145]]", "Test string 146: [[test146]]", "Test string 147: [[test147]]", "Test string 148: [[test148]]", "Test string 149: [[test149]]", "Test string 150: [[test150]]", "Test string 151: [[test151]]", "Test string 152: [[test152]]", "Test string 153: [[test153]]", "Test string 154: [[test154]]", "Test string 155: [[test155]]", "Test string 156: [[test156]]", "Test string 157: [[test157]]", "Test string 158: [[test158]]", "Test string 159: [[test159]]", "Test string 160: [[test160]]", "Test string 161: [[test161]]", "Test string 162: [[test162]]", "Test string 163: [[test163]]", "Test string 164: [[test164]]", "Test string 165: [[test165]]", "Test string 166: [[test166]]", "Test string 167: [[test167]]", "Test string 168: [[test168]]", "Test string 169: [[test169]]", "Test string 170: [[test170]]", "Test string 171: [[test171]]", "Test string 172: [[test172]]", "Test string 173: [[test173]]", "Test string 174: [[test174]]", "Test string 175: [[test175]]", "Test string 176: [[test176]]", "Test string 177: [[test177]]", "Test string 178: [[test178]]", "Test string 179: [[test179]]", "Test string 180: [[test180]]", "Test string 181: [[test181]]", "Test string 182: [[test182]]", "Test string 183: [[test183]]", "Test string 184: [[test184]]", "Test string 185: [[test185]]", "Test string 186: [[test186]]", "Test string 187: [[test187]]", "Test string 188: [[test188]]", "Test string 189: [[test189]]", "Test string 190: [[test190]]", "Test string 191: [[test191]]", "Test string 192: [[test192]]", "Test string 193: [[test193]]", "Test string 194: [[test194]]", "Test string 195: [[test195]]", "Test string 196: [[test196]]", "Test string 197: [[test197]]", "Test string 198: [[test198]]", "Test string 199: [[test199]]", "Test string 200: [[test200]]", "Test string 201: [[test201]]", "Test string 202: [[test202]]", "Test string 203: [[test203]]", "Test string 204: [[test204]]", "Test string 205: [[test205]]", "Test string 206: [[test206]]", "Test string 207: [[test207]]", "Test string 208: [[test208]]", "Test string 209: [[test209]]", "Test string 210: [[test210]]", "Test string 211: [[test211]]", "Test string 212: [[test212]]", "Test string 213: [[test213]]", "Test string 214: [[test214]]", "Test string 215: [[test215]]", "Test string 216: [[test216]]", "Test string 217: [[test217]]", "Test string 218: [[test218]]", "Test string 219: [[test219]]", "Test string 220: [[test220]]", "Test string 221: [[test221]]", "Test string 222: [[test222]]", "Test string 223: [[test223]]", "Test string 224: [[test224]]", "Test string 225: [[test225]]", "Test string 226: [[test226]]", "Test string 227: [[test227]]", "Test string 228: [[test228]]", "Test string 229: [[test229]]", "Test string 230: [[test230]]", "Test string 231: [[test231]]", "Test string 232: [[test232]]", "Test string 233: [[test233]]", "Test string 234: [[test234]]", "Test string 235: [[test235]]", "Test string 236: [[test236]]", "Test string 237: [[test237]]", "Test string 238: [[test238]]", "Test string 239: [[test239]]", "Test string 240: [[test240]]", "Test string 241: [[test241]]", "Test string 242: [[test242]]", "Test string 243: [[test243]]", "Test string 244: [[test244]]", "Test string 245: [[test245]]", "Test string 246: [[test246]]", "Test string 247: [[test247]]", "Test string 248: [[test248]]", "Test string 249: [[test249]]", "Test string 250: [[test250]]", "Test string 251: [[test251]]", "Test string 252: [[test252]]", "Test string 253: [[test253]]", "Test string 254: [[test254]]", "Test string 255: [[test255]]", "Test string 256: [[test256]]", "Test string long: [[testlong]]", "Test string verylong: [[testverylong]]", "Test string varfoo: [[testvarfoo,foo=\"BAR\"]]", "Test string varfoo2: [[testvarfoo2,foo=\"BAT\"]]", "Test string 123: [[testing123]]", "Test string multinum: [[testmultinum]]", "Test failure: [[fail1]]", "Test failure: [[fail2]]", "Test failure: [[fail3]]", "Test failure: [[fail4]]", "Test failure: [[fail5]]", "Test failure: [[fail6]]", "Test failure: [[fail7]]", "Test failure: [[fail8]]", "Test failure: [[fail9]]", "Test failure: [[fail10]]", NULL }; int main () { i18n_vars *vars; i18n_handle *i18n; int i = 0; vars = i18n_vars_new(); i18n_vars_add(vars, "foo", "FOO!"); i18n = i18n_new("test_i18n", "en"); while (tags[i]) { char *got; got = i18n_get(i18n, tags[i], NULL, vars); printf (" tag: '%s'\n", tags[i]); printf (" got: '%s'\n", got); i++; } i = 0; while (strings[i]) { char *got; got = i18n_interpolate(i18n, strings[i], NULL); printf (" str: '%s'\n", strings[i]); printf (" got: '%s'\n", got); i++; } i18n_destroy (i18n); return 0; } /* Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * -Redistribution of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * -Redistribution in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * Neither the name of Sun Microsystems, Inc. or the names of contributors may * be used to endorse or promote products derived from this software without * specific prior written permission. * This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. * * You acknowledge that this software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility. */