1121:
376:
284:
66:
25:
168:
492:
477:
implementation of the system in 1995. Gettext, GNU or not, has since been ported to many programming languages. The simplicity of po and widespread editor support even lead to its adoption in non-program contexts for text documents or as an intermediate between other localization formats, with
472:
decided that the message-as-key approach of gettext is simpler and more friendly. (Most other systems, including catgets, requires the developer to come up with "key" names for every string.) They released GNU gettext, a
1109:
yet. A commonly used gettext implementation on these Cocoa platforms is POLocalizedString. The
Microsoft Outlook for iOS team also provides a LocalizedStringsKit library with a gettext-like API.
1762:"libintl-perl - An Internationalization Library for Perl That Aims To Be Compatible With the Uniforum Message Translations System as Implemented For Example in GNU Gettext"
449:
implemented the first gettext in 1993. The Unix and POSIX developers never really agreed on what kind of interface to use (the other option is the X/Open catgets), so many
445:
Initially, POSIX provided no means of localizing messages. Two proposals were raised in the late 1980s, the 1988 Uniforum gettext and the 1989 X/Open catgets (XPG-3 § 5).
609:
where a programmatic ID (often an integer) is used. To handle the case where the same original-language text can have different meanings, gettext has functions like
1974:
1477:
588:
then uses the supplied strings as keys for looking up translations, and will return the original string when no translation is available. This is in contrast to
1419:
1648:
953:(empty string) entry of the PO file stores some metadata, one of which is the plural form that the language uses, usually specified using a C-style
1205:
405:. One of the main benefits of gettext is that it separates programming from translating. The most commonly used implementation of gettext is
394:
334:
1979:
1126:
178:
623:(Portable Object Template) file, which contains a list of all the translatable strings extracted from the sources. Comments starting with
507:
that the user will see in the original language, usually
English. To save typing time and reduce code clutter, this function is commonly
627:
are used to give translators hints, although other prefixes are also configurable to further limit the scope. One such common prefix is
461:, despite the fact that its old foe has already fallen out of use. Concerns cited included its dependence on the system-set locale (a
210:
149:
52:
883:
instead. Its main difference from the Unix variable is that it supports multiple languages, separated with a colon, for fallback.
1075:
1340:
1067:
87:
1969:
1231:
1087:
1095:
307:
1524:
1469:
457:, implemented both. As of August 2019, whether gettext should be part of POSIX was still a point of debate in the
996:
nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
434:
275:
130:
1580:
102:
1177:
1106:
76:
1673:
1401:
1315:
1280:
504:
826:
used by the programming language. It also allows for outputting to language-specific formats other than MO; the
815:
on systems with another gettext implementation. These are now ready for distribution with the software package.
1630:
1091:
1063:
759:
initializes the translations so, for instance, for a French language translation, the command to run would be:
684:
109:
83:
38:
1365:
465:
subject to multithreading problems) and its support for newer C-language extensions involving wide strings.
495:
Typical gettext workflow. The de.po instance on the left shows a "renewing" of translations via msgmerge.
116:
683:
The resultant .pot file looks like this with the comment (note that xgettext recognizes the string as a
347:
1887:"DanielBaulig/node-gettext: An adaption of Joshua I. Miller's Javascript Gettext library for node.js"
1499:
862:
727:
library one can include that provides the many same functions gettext provides in similar languages.
508:
98:
1605:
823:
329:
1563:
375:
283:
1051:
426:
422:
1549:
478:
converters like po4a (po for anything) and
Translate Toolkit emerging to provide such a bridge.
769:. The translator then edits the resultant file, either by hand or with a translation tool like
1225:
1144:
603:
1054:. msginit also prefills the appropriate rule when creating a file for one specific language.
958:
446:
402:
341:
317:
236:
462:
430:
322:
1963:
1311:
1276:
474:
123:
1952:
1786:
895:
interface accounts for the count of a noun in the string. As with the convention of
1862:"makkarpov/scalingua: A simple gettext-like internationalization library for Scala"
1812:"gettext – Multilingual internationalization services – Python 3.7.0 documentation"
1741:
1384:"0001122: POSIX should include gettext() and friends - Austin Group Defect Tracker"
876:
735:
for the simple gettext function, although it depends on the C library to provide a
720:
458:
44:
1929:
1134:
1105:
GNU gettext has native support for
Objective-C, but there is no support for the
868:, and the program will display strings in the selected language, if there is an
469:
418:
410:
65:
1930:"microsoft/LocalizedStringKit: Generate .strings files directly from your code"
1886:
1811:
1691:
1383:
1116:
841:
can be used to "update" an old translation to a newer template. There is also
243:
231:
1911:
1303:
1268:
639:/// TRANSLATORS: %s contains the user's name as specified in Preferences
450:
398:
386:
1742:"NGettext.Wpf - Proper internationalization support for WPF (via NGettext)"
696:#. TRANSLATORS: %s contains the user's name as specified in Preferences
1525:"AmigaOS Manual: Python Modules and Packages - AmigaOS Documentation Wiki"
1246:
397:(i18n and l10n) system commonly used for writing multilingual programs on
1861:
1761:
1692:"Google Code Archive - Long-term storage for Google Code Project Hosting"
811:(Machine Object) files. GNU gettext may use its own file name extension
728:
417:. gettext provides an option to use different strings for any number of
358:
1716:
1154:
1149:
1099:
1071:
596:
1836:
1451:
1746:
1139:
1001:
Since now there are four plural forms, the final po would look like:
827:
770:
688:
491:
1304:"Introduction to Internationalization Programming | Linux Journal"
774:
589:
490:
454:
1433:
1079:
858:
1083:
954:
908:// parameters: english singular, english plural, integer count
161:
59:
18:
1269:"Bridging the Digital Divide in South Africa | Linux Journal"
1912:"hulab/POLocalizedString: gettext for iOS/OS X/watchOS/tvOS"
1717:"turquoiseowl/i18n: Smart internationalization for ASP.NET"
634:
For example, an input file with a comment might look like:
1050:
Reference plural rules for languages are provided by the
185:
1420:"GNU gettext utilities: List of Programming Languages"
849:
files, and many other utilities for batch processing.
1649:"GNU gettext utilities: Locale Environment Variables"
1470:"GNU gettext utilities: How Marks Appear in Sources"
751:(Portable Object) file from the template using the
500:
353:
340:
328:
316:
306:
274:
252:
242:
230:
90:. Unsourced material may be challenged and removed.
1452:"The essential toolkit for localization engineers"
16:GNU internationalization and localization software
1206:"History of gettext() et al? - comp.unix.solaris"
1341:"How to Translate With GetText PO and POT Files"
837:In later phases of the developmental workflow,
421:of nouns, but this feature has no support for
1212:. Archived from the original on 23 March 2012
1066:, gettext has the following implementations:
822:can also perform some checks relevant to the
8:
903:in practical use. Consider the code sample:
613:that accept an additional "context" string.
437:(Portable Object) and .MO (Machine Object).
312:various based on OpenSolaris and GNU gettext
225:
53:Learn how and when to remove these messages
1575:
1573:
755:program, then fills out the translations.
374:
282:
224:
1302:Tykhomyrov, Olexiy Ye (1 November 2002).
1200:
1198:
803:Finally, the .po files are compiled with
211:Learn how and when to remove this message
150:Learn how and when to remove this message
1166:
957:. Suppose we want to translate for the
781:files. An edited entry will look like:
1318:from the original on 17 September 2019
1283:from the original on 17 September 2019
1223:
879:can also use the environment variable
499:The basic interface of gettext is the
1975:Internationalization and localization
1267:Martindale, Linda (1 November 2002).
1172:
1170:
762:msginit --locale=fr --input=name.pot
395:internationalization and localization
335:Internationalization and localization
7:
1335:
1333:
1127:Free and open-source software portal
88:adding citations to reliable sources
619:is run on the sources to produce a
1837:"gettext: Translate Text Messages"
1480:from the original on 25 March 2024
1045:"%d prevedena sporoÄŤila"
1039:"%d prevedeni sporoÄŤili"
1033:"%d prevedeno sporoÄŤilo"
1027:"%d prevedenih sporoÄŤil"
1021:"%d translated messages"
929:"%d translated messages"
798:"Je m'appelle %s.\n"
14:
1581:"GNU gettext utilities: PO Files"
1245:Bruno Haible (22 February 2024).
1015:"%d translated message"
923:"%d translated message"
188:and remove advice or instruction.
34:This article has multiple issues.
1119:
731:also has a simplified construct
413:in 1995. The runtime library is
166:
64:
23:
75:needs additional citations for
42:or discuss these issues on the
1936:. Microsoft. 12 February 2020.
1606:"Files Conveying Translations"
1:
1564:"GNU gettext utilities: bash"
1247:"GNU gettext 0.22.5 released"
792:"My name is %s.\n"
708:"My name is %s.\n"
433:(Portable Object Template),
1980:Software-localization tools
1918:. hulab. 19 September 2019.
1550:"GNU gettext utilities: sh"
1388:Austin Group Defect Tracker
258:; 34 years ago
1996:
1107:Swift programming language
777:with its editing mode for
677:is run using the command:
503:function, which accepts a
1953:Official GNU gettext site
1230:: CS1 maint: unfit URL (
899:, it is often aliased to
747:The translator derives a
302:
270:
1003:
963:
905:
861:-type systems, sets the
783:
693:
636:
517:
429:used by this system are
1674:"Language Plural Rules"
1402:"The Programmer's View"
845:for reverse-compiling
496:
348:free software licenses
289:; 6 months ago
1635:GNU gettext utilities
1366:"Message Translation"
723:, gettext provides a
494:
1970:GNU Project software
863:environment variable
654:"My name is %s.
580:// same, but shorter
562:"My name is %s.
532:"My name is %s.
501:gettext(const char*)
186:rewrite this article
84:improve this article
1631:"msgfmt Invocation"
1006:#: src/msgfmt.c:876
427:filename extensions
227:
1052:Unicode consortium
497:
423:grammatical gender
409:, released by the
287:/ 21 February 2024
232:Original author(s)
1750:. 16 August 2019.
1456:Translate Toolkit
1370:The GNU C Library
1145:Translate Toolkit
765:This will create
604:Microsoft Windows
403:operating systems
383:
382:
221:
220:
213:
203:
202:
179:a manual or guide
160:
159:
152:
134:
57:
1987:
1956:
1955:
1938:
1937:
1926:
1920:
1919:
1908:
1902:
1901:
1899:
1897:
1883:
1877:
1876:
1874:
1872:
1858:
1852:
1851:
1849:
1847:
1833:
1827:
1826:
1824:
1822:
1808:
1802:
1801:
1799:
1797:
1783:
1777:
1776:
1774:
1772:
1758:
1752:
1751:
1738:
1732:
1731:
1729:
1727:
1713:
1707:
1706:
1704:
1702:
1688:
1682:
1681:
1670:
1664:
1663:
1661:
1659:
1645:
1639:
1638:
1627:
1621:
1620:
1618:
1616:
1602:
1596:
1595:
1593:
1591:
1577:
1568:
1567:
1560:
1554:
1553:
1546:
1540:
1539:
1537:
1535:
1529:wiki.amigaos.net
1521:
1515:
1514:
1512:
1510:
1496:
1490:
1489:
1487:
1485:
1466:
1460:
1459:
1448:
1442:
1441:
1430:
1424:
1423:
1416:
1410:
1409:
1408:. 30 April 1998.
1398:
1392:
1391:
1380:
1374:
1373:
1362:
1356:
1355:
1353:
1351:
1345:Icanlocalize.com
1337:
1328:
1327:
1325:
1323:
1308:linuxjournal.com
1299:
1293:
1292:
1290:
1288:
1273:linuxjournal.com
1264:
1258:
1257:
1255:
1253:
1242:
1236:
1235:
1229:
1221:
1219:
1217:
1202:
1193:
1192:
1190:
1188:
1174:
1129:
1124:
1123:
1122:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
997:
994:
991:
988:
985:
982:
979:
976:
973:
970:
967:
959:Slovene language
955:ternary operator
952:
949:A header in the
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
902:
898:
894:
882:
871:
867:
848:
844:
840:
833:
821:
814:
810:
806:
799:
796:
793:
790:
787:
786:#: src/name.c:36
780:
768:
758:
754:
750:
738:
734:
726:
715:
712:
709:
706:
703:
702:#: src/name.c:36
700:
697:
691:format string):
676:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
630:
626:
622:
618:
612:
608:
601:
594:
587:
581:
578:
575:
572:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
514:
502:
447:Sun Microsystems
379:
378:
371:
368:
366:
364:
362:
360:
318:Operating system
297:
295:
294:21 February 2024
290:
286:
266:
264:
259:
237:Sun Microsystems
228:
216:
209:
198:
195:
189:
177:is written like
170:
169:
162:
155:
148:
144:
141:
135:
133:
92:
68:
60:
49:
27:
26:
19:
1995:
1994:
1990:
1989:
1988:
1986:
1985:
1984:
1960:
1959:
1951:
1950:
1947:
1942:
1941:
1928:
1927:
1923:
1910:
1909:
1905:
1895:
1893:
1885:
1884:
1880:
1870:
1868:
1860:
1859:
1855:
1845:
1843:
1835:
1834:
1830:
1820:
1818:
1816:docs.python.org
1810:
1809:
1805:
1795:
1793:
1785:
1784:
1780:
1770:
1768:
1760:
1759:
1755:
1740:
1739:
1735:
1725:
1723:
1715:
1714:
1710:
1700:
1698:
1696:Code.google.com
1690:
1689:
1685:
1672:
1671:
1667:
1657:
1655:
1647:
1646:
1642:
1629:
1628:
1624:
1614:
1612:
1604:
1603:
1599:
1589:
1587:
1579:
1578:
1571:
1562:
1561:
1557:
1548:
1547:
1543:
1533:
1531:
1523:
1522:
1518:
1508:
1506:
1500:"About catgets"
1498:
1497:
1493:
1483:
1481:
1468:
1467:
1463:
1450:
1449:
1445:
1432:
1431:
1427:
1418:
1417:
1413:
1406:gettext 0.10.35
1400:
1399:
1395:
1382:
1381:
1377:
1364:
1363:
1359:
1349:
1347:
1339:
1338:
1331:
1321:
1319:
1301:
1300:
1296:
1286:
1284:
1266:
1265:
1261:
1251:
1249:
1244:
1243:
1239:
1222:
1215:
1213:
1204:
1203:
1196:
1186:
1184:
1178:"About gettext"
1176:
1175:
1168:
1163:
1125:
1120:
1118:
1115:
1062:In addition to
1060:
1058:Implementations
1048:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
999:
998:
995:
992:
989:
986:
983:
980:
978:"..."
977:
974:
971:
968:
965:
950:
947:
946:
943:
940:
937:
934:
931:
928:
925:
922:
919:
916:
913:
910:
907:
900:
896:
892:
889:
880:
869:
865:
855:
846:
842:
838:
831:
819:
812:
808:
804:
801:
800:
797:
794:
791:
788:
785:
778:
766:
763:
756:
752:
748:
745:
736:
732:
724:
717:
716:
713:
710:
707:
704:
701:
698:
695:
681:
674:
672:
671:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
628:
624:
620:
616:
610:
606:
599:
592:
585:
583:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
512:
489:
484:
463:global variable
443:
373:
357:
298:
293:
291:
288:
262:
260:
257:
253:Initial release
217:
206:
205:
204:
199:
193:
190:
183:
171:
167:
156:
145:
139:
136:
93:
91:
81:
69:
28:
24:
17:
12:
11:
5:
1993:
1991:
1983:
1982:
1977:
1972:
1962:
1961:
1958:
1957:
1946:
1945:External links
1943:
1940:
1939:
1921:
1903:
1878:
1853:
1828:
1803:
1778:
1753:
1733:
1708:
1683:
1665:
1640:
1622:
1597:
1569:
1555:
1541:
1516:
1491:
1461:
1443:
1425:
1411:
1393:
1375:
1357:
1329:
1294:
1259:
1237:
1210:Compgroups.net
1194:
1165:
1164:
1162:
1159:
1158:
1157:
1152:
1147:
1142:
1137:
1131:
1130:
1114:
1111:
1059:
1056:
1004:
964:
906:
888:
885:
854:
851:
830:equivalent is
784:
761:
744:
741:
694:
680:xgettext -c /
679:
637:
518:
488:
485:
483:
480:
442:
439:
381:
380:
355:
351:
350:
344:
338:
337:
332:
326:
325:
323:Cross-platform
320:
314:
313:
310:
304:
303:
300:
299:
280:
278:
276:Stable release
272:
271:
268:
267:
254:
250:
249:
246:
240:
239:
234:
219:
218:
201:
200:
174:
172:
165:
158:
157:
72:
70:
63:
58:
32:
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
1992:
1981:
1978:
1976:
1973:
1971:
1968:
1967:
1965:
1954:
1949:
1948:
1944:
1935:
1931:
1925:
1922:
1917:
1913:
1907:
1904:
1892:
1888:
1882:
1879:
1867:
1863:
1857:
1854:
1842:
1838:
1832:
1829:
1817:
1813:
1807:
1804:
1792:
1788:
1782:
1779:
1767:
1763:
1757:
1754:
1749:
1748:
1743:
1737:
1734:
1722:
1718:
1712:
1709:
1697:
1693:
1687:
1684:
1679:
1675:
1669:
1666:
1654:
1650:
1644:
1641:
1636:
1632:
1626:
1623:
1611:
1607:
1601:
1598:
1586:
1582:
1576:
1574:
1570:
1565:
1559:
1556:
1551:
1545:
1542:
1530:
1526:
1520:
1517:
1505:
1501:
1495:
1492:
1479:
1475:
1471:
1465:
1462:
1457:
1453:
1447:
1444:
1439:
1435:
1429:
1426:
1421:
1415:
1412:
1407:
1403:
1397:
1394:
1389:
1385:
1379:
1376:
1371:
1367:
1361:
1358:
1346:
1342:
1336:
1334:
1330:
1317:
1313:
1312:Linux Journal
1309:
1305:
1298:
1295:
1282:
1278:
1277:Linux Journal
1274:
1270:
1263:
1260:
1248:
1241:
1238:
1233:
1227:
1211:
1207:
1201:
1199:
1195:
1183:
1179:
1173:
1171:
1167:
1160:
1156:
1153:
1151:
1148:
1146:
1143:
1141:
1138:
1136:
1133:
1132:
1128:
1117:
1112:
1110:
1108:
1103:
1101:
1097:
1093:
1089:
1085:
1081:
1077:
1073:
1069:
1065:
1057:
1055:
1053:
1002:
993:Plural-Forms:
962:
960:
956:
904:
886:
884:
878:
873:
872:file for it.
864:
860:
857:The user, on
852:
850:
835:
829:
825:
824:format string
816:
782:
776:
772:
760:
742:
740:
730:
722:
692:
690:
686:
678:
635:
632:
614:
605:
598:
591:
516:
510:
506:
493:
486:
481:
479:
476:
475:free software
471:
466:
464:
460:
456:
452:
448:
440:
438:
436:
432:
428:
424:
420:
416:
412:
408:
404:
400:
396:
392:
388:
377:
370:
356:
352:
349:
345:
343:
339:
336:
333:
331:
327:
324:
321:
319:
315:
311:
309:
305:
301:
285:
279:
277:
273:
269:
255:
251:
247:
245:
241:
238:
235:
233:
229:
223:
215:
212:
197:
187:
182:
180:
175:This article
173:
164:
163:
154:
151:
143:
132:
129:
125:
122:
118:
115:
111:
108:
104:
101: –
100:
96:
95:Find sources:
89:
85:
79:
78:
73:This article
71:
67:
62:
61:
56:
54:
47:
46:
41:
40:
35:
30:
21:
20:
1933:
1924:
1915:
1906:
1894:. Retrieved
1890:
1881:
1869:. Retrieved
1865:
1856:
1844:. Retrieved
1840:
1831:
1821:21 September
1819:. Retrieved
1815:
1806:
1794:. Retrieved
1790:
1781:
1771:14 September
1769:. Retrieved
1765:
1756:
1745:
1736:
1724:. Retrieved
1720:
1711:
1699:. Retrieved
1695:
1686:
1677:
1668:
1656:. Retrieved
1652:
1643:
1634:
1625:
1613:. Retrieved
1609:
1600:
1588:. Retrieved
1584:
1558:
1544:
1532:. Retrieved
1528:
1519:
1507:. Retrieved
1503:
1494:
1482:. Retrieved
1473:
1464:
1455:
1446:
1437:
1428:
1414:
1405:
1396:
1387:
1378:
1369:
1360:
1348:. Retrieved
1344:
1322:17 September
1320:. Retrieved
1307:
1297:
1287:17 September
1285:. Retrieved
1272:
1262:
1250:. Retrieved
1240:
1214:. Retrieved
1209:
1185:. Retrieved
1181:
1104:
1061:
1049:
1018:msgid_plural
1000:
975:""
969:""
948:
890:
877:GNU variants
874:
856:
836:
817:
807:into binary
802:
764:
746:
721:shell script
718:
714:""
682:
673:
633:
629:TRANSLATORS:
615:
607:LoadString()
584:
498:
467:
459:Austin Group
453:, including
444:
419:plural forms
414:
406:
390:
384:
281:0.22.5
244:Developer(s)
222:
207:
191:
184:Please help
176:
146:
137:
127:
120:
113:
106:
94:
82:Please help
77:verification
74:
50:
43:
37:
36:Please help
33:
1846:13 November
1678:unicode.org
1474:www.gnu.org
1135:gtranslator
1009:#, c-format
887:Plural form
866:LC_MESSAGES
743:Translating
699:#, c-format
600:GetString()
487:Programming
470:GNU Project
451:C libraries
425:. The main
411:GNU Project
407:GNU gettext
140:August 2008
1964:Categories
1891:GitHub.com
1866:github.com
1796:24 October
1766:github.com
1721:GitHub.com
1509:24 October
1161:References
987:sl\n"
893:ngettext()
739:function.
725:gettext.sh
687:-language
611:cgettext()
308:Repository
110:newspapers
39:improve it
1787:"Gettext"
1070:for both
984:Language:
897:gettext()
875:Users on
737:gettext()
733:$ "msgid"
719:In POSIX
593:catgets()
586:gettext()
482:Operation
401:computer
399:Unix-like
387:computing
365:/software
99:"Gettext"
45:talk page
1871:28 April
1615:22 April
1478:Archived
1438:po4a.org
1316:Archived
1281:Archived
1226:cite web
1113:See also
1074:and for
917:ngettext
881:LANGUAGE
843:msgunfmt
839:msgmerge
729:GNU bash
675:xgettext
617:xgettext
367:/gettext
346:Various
194:May 2009
1896:3 April
1841:rdrr.io
1791:php.net
1726:3 April
1701:3 April
1658:3 April
1653:Gnu.org
1610:Gnu.org
1590:3 April
1585:Gnu.org
1504:gnu.org
1484:3 April
1350:3 April
1252:7 March
1216:3 April
1182:gnu.org
1155:Weblate
1150:Virtaal
1100:Node.js
1072:ASP.NET
853:Running
757:msginit
753:msginit
666:my_name
597:AmigaOS
574:my_name
544:my_name
526:gettext
509:aliased
441:History
415:libintl
391:gettext
354:Website
342:License
292: (
261: (
248:various
226:gettext
124:scholar
1934:GitHub
1916:GitHub
1747:GitHub
1534:9 July
1434:"po4a"
1140:Poedit
1098:, and
1088:Python
1042:msgstr
1036:msgstr
1030:msgstr
1024:msgstr
990:"
981:"
972:msgstr
911:printf
832:gencat
828:X/Open
820:msgfmt
805:msgfmt
795:msgstr
771:Poedit
711:msgstr
689:printf
660:"
642:printf
568:"
550:printf
538:"
520:printf
505:string
393:is an
372:
126:
119:
112:
105:
97:
1187:9 May
1096:Scala
1012:msgid
966:msgid
789:msgid
775:Emacs
773:, or
767:fr.po
705:msgid
602:, or
590:POSIX
455:glibc
131:JSTOR
117:books
1898:2016
1873:2016
1848:2021
1823:2018
1798:2017
1773:2017
1728:2016
1703:2016
1660:2016
1617:2014
1592:2016
1536:2023
1511:2017
1486:2024
1352:2016
1324:2019
1289:2019
1254:2024
1232:link
1218:2016
1189:2024
1080:Perl
891:The
859:Unix
818:GNU
813:.gmo
621:.pot
468:The
431:.POT
363:.org
361:.gnu
330:Type
263:1990
256:1990
103:news
1084:PHP
1076:WPF
870:.mo
847:.mo
809:.mo
779:.po
749:.po
625:///
511:to
435:.PO
385:In
359:www
86:by
1966::
1932:.
1914:.
1889:.
1864:.
1839:.
1814:.
1789:.
1764:.
1744:.
1719:.
1694:.
1676:.
1651:.
1633:.
1608:.
1583:.
1572:^
1527:.
1502:.
1476:.
1472:.
1454:.
1436:.
1404:.
1386:.
1368:.
1343:.
1332:^
1314:.
1310:.
1306:.
1279:.
1275:.
1271:.
1228:}}
1224:{{
1208:.
1197:^
1180:.
1169:^
1102:.
1094:,
1090:,
1086:,
1082:,
1078:,
1068:C#
961::
951:""
944:);
938:),
901:N_
834:.
669:);
663:),
657:\n
631:.
595:,
577:);
571:),
565:\n
547:);
541:),
535:\n
515::
389:,
48:.
1900:.
1875:.
1850:.
1825:.
1800:.
1775:.
1730:.
1705:.
1680:.
1662:.
1637:.
1619:.
1594:.
1566:.
1552:.
1538:.
1513:.
1488:.
1458:.
1440:.
1422:.
1390:.
1372:.
1354:.
1326:.
1291:.
1256:.
1234:)
1220:.
1191:.
1092:R
1064:C
941:n
935:n
932:,
926:,
920:(
914:(
685:C
651:(
648:_
645:(
559:(
556:_
553:(
529:(
523:(
513:_
369:/
296:)
265:)
214:)
208:(
196:)
192:(
181:.
153:)
147:(
142:)
138:(
128:·
121:·
114:·
107:·
80:.
55:)
51:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.