54 switch (preq->
range) {
55 case REQ_RANGE_PLAYER:
59 _(
"Requires knowledge of the technology %s."),
63 _(
"Prevented by knowledge of the technology %s."),
71 _(
"Requires that a player on your team knows the "
76 _(
"Prevented if any player on your team knows the "
81 case REQ_RANGE_ALLIANCE:
85 _(
"Requires that a player allied to you knows the "
90 _(
"Prevented if any player allied to you knows the "
100 _(
"Requires that someone has discovered the "
105 _(
"Requires that no-one has yet discovered the "
112 _(
"Requires that some player knows the "
117 _(
"Requires that no player knows the "
123 case REQ_RANGE_LOCAL:
124 case REQ_RANGE_CADJACENT:
125 case REQ_RANGE_ADJACENT:
127 case REQ_RANGE_TRADEROUTE:
128 case REQ_RANGE_CONTINENT:
129 case REQ_RANGE_COUNT:
136 switch (preq->
range) {
137 case REQ_RANGE_PLAYER:
142 _(
"Requires knowledge of a technology with the "
144 tech_flag_id_translated_name(
149 _(
"Prevented by knowledge of any technology with the "
151 tech_flag_id_translated_name(
160 _(
"Requires that a player on your team knows "
161 "a technology with the \"%s\" flag."),
162 tech_flag_id_translated_name(
167 _(
"Prevented if any player on your team knows "
168 "any technology with the \"%s\" flag."),
169 tech_flag_id_translated_name(
173 case REQ_RANGE_ALLIANCE:
178 _(
"Requires that a player allied to you knows "
179 "a technology with the \"%s\" flag."),
180 tech_flag_id_translated_name(
185 _(
"Prevented if any player allied to you knows "
186 "any technology with the \"%s\" flag."),
187 tech_flag_id_translated_name(
191 case REQ_RANGE_WORLD:
196 _(
"Requires that some player knows a technology "
197 "with the \"%s\" flag."),
198 tech_flag_id_translated_name(
203 _(
"Requires that no player knows any technology with "
205 tech_flag_id_translated_name(
209 case REQ_RANGE_LOCAL:
210 case REQ_RANGE_CADJACENT:
211 case REQ_RANGE_ADJACENT:
213 case REQ_RANGE_TRADEROUTE:
214 case REQ_RANGE_CONTINENT:
215 case REQ_RANGE_COUNT:
222 if (preq->
range != REQ_RANGE_PLAYER) {
230 cat_snprintf(buf, bufsz,
_(
"Not available under the %s government."),
235 case VUT_ACHIEVEMENT:
236 switch (preq->
range) {
237 case REQ_RANGE_PLAYER:
241 buf, bufsz,
_(
"Requires you to have achieved \"%s\"."),
246 _(
"Not available once you have achieved "
256 _(
"Requires that at least one of your "
257 "team-mates has achieved \"%s\"."),
262 _(
"Not available if any of your team-mates "
263 "has achieved \"%s\"."),
267 case REQ_RANGE_ALLIANCE:
272 _(
"Requires that at least one of your allies "
273 "has achieved \"%s\"."),
278 _(
"Not available if any of your allies has "
283 case REQ_RANGE_WORLD:
288 _(
"Requires that at least one player "
289 "has achieved \"%s\"."),
294 _(
"Not available if any player has "
299 case REQ_RANGE_LOCAL:
300 case REQ_RANGE_CADJACENT:
301 case REQ_RANGE_ADJACENT:
303 case REQ_RANGE_TRADEROUTE:
304 case REQ_RANGE_CONTINENT:
305 case REQ_RANGE_COUNT:
312 switch (preq->
range) {
313 case REQ_RANGE_LOCAL:
321 _(
"Doesn't apply to the \"%s\""
334 switch (preq->
range) {
335 case REQ_RANGE_LOCAL:
339 buf, bufsz,
_(
"Applies to \"%s\" buildings."),
343 buf, bufsz,
_(
"Doesn't apply to \"%s\" buildings."),
353 case VUT_IMPROVEMENT:
354 switch (preq->
range) {
355 case REQ_RANGE_WORLD:
364 _(
"Requires that %s was built at some point, "
365 "and that it has not yet been rendered "
372 _(
"Requires that %s was built at some point."),
380 _(
"Prevented if %s has ever been built, "
381 "unless it would be obsolete."),
387 _(
"Prevented if %s has ever been built."),
398 _(
"Requires %s to be owned by any player "
399 "and not yet obsolete."),
405 _(
"Requires %s to be owned by any player."),
413 _(
"Prevented if %s is currently owned by "
414 "any player, unless it is obsolete."),
420 _(
"Prevented if %s is currently owned by "
430 case REQ_RANGE_ALLIANCE:
439 _(
"Requires someone who is currently allied to "
440 "you to have built %s at some point, and for "
441 "it not to have been rendered obsolete."),
447 _(
"Requires someone who is currently allied to "
448 "you to have built %s at some point."),
456 _(
"Prevented if someone currently allied to you "
457 "has ever built %s, unless it would be "
464 _(
"Prevented if someone currently allied to you "
465 "has ever built %s."),
476 _(
"Requires someone allied to you to own %s, "
477 "and for it not to have been rendered "
484 _(
"Requires someone allied to you to own %s."),
492 _(
"Prevented if someone allied to you owns %s, "
493 "unless it is obsolete."),
499 _(
"Prevented if someone allied to you owns %s."),
517 _(
"Requires someone on your team to have "
518 "built %s at some point, and for it not "
519 "to have been rendered obsolete."),
525 _(
"Requires someone on your team to have "
526 "built %s at some point."),
534 _(
"Prevented if someone on your team has ever "
535 "built %s, unless it would be obsolete."),
541 _(
"Prevented if someone on your team has ever "
553 _(
"Requires someone on your team to own %s, "
554 "and for it not to have been rendered "
561 _(
"Requires someone on your team to own %s."),
569 _(
"Prevented if someone on your team owns %s, "
570 "unless it is obsolete."),
576 _(
"Prevented if someone on your team owns %s."),
585 case REQ_RANGE_PLAYER:
594 _(
"Requires you to have built %s at some point, "
595 "and for it not to have been rendered "
602 _(
"Requires you to have built %s at some point."),
610 _(
"Prevented if you have ever built %s, "
611 "unless it would be obsolete."),
617 _(
"Prevented if you have ever built %s."),
628 _(
"Requires you to own %s, which must not "
635 _(
"Requires you to own %s."),
643 _(
"Prevented if you own %s, unless it is "
650 _(
"Prevented if you own %s."),
659 case REQ_RANGE_CONTINENT:
667 _(
"Requires %s in one of your cities on the same "
668 "continent, and not yet obsolete."),
674 _(
"Requires %s in one of your cities on the same "
683 _(
"Prevented if %s is in one of your cities on the "
684 "same continent, unless it is obsolete."),
690 _(
"Prevented if %s is in one of your cities on the "
700 case REQ_RANGE_TRADEROUTE:
708 _(
"Requires %s in the city or a trade partner "
709 "(and not yet obsolete)."),
715 _(
"Requires %s in the city or a trade partner."),
724 _(
"Prevented by %s in the city or a trade partner "
725 "(unless it is obsolete)."),
731 _(
"Prevented by %s in the city or a trade partner."),
744 _(
"Requires %s in the city (and not yet obsolete)."),
750 _(
"Requires %s in the city."),
759 _(
"Prevented by %s in the city (unless it is "
766 _(
"Prevented by %s in the city."),
771 case REQ_RANGE_LOCAL:
775 buf, bufsz,
_(
"Only applies to \"%s\" buildings."),
779 buf, bufsz,
_(
"Does not apply to \"%s\" buildings."),
783 case REQ_RANGE_CADJACENT:
784 case REQ_RANGE_ADJACENT:
785 case REQ_RANGE_COUNT:
792 switch (preq->
range) {
793 case REQ_RANGE_LOCAL:
799 cat_snprintf(buf, bufsz,
Q_(
"?extra:Prevented by %s on the tile."),
803 case REQ_RANGE_CADJACENT:
807 Q_(
"?extra:Requires %s on the tile or a cardinally "
813 Q_(
"?extra:Prevented by %s on the tile or any cardinally "
818 case REQ_RANGE_ADJACENT:
822 Q_(
"?extra:Requires %s on the tile or an adjacent "
827 Q_(
"?extra:Prevented by %s on the tile or any adjacent "
836 Q_(
"?extra:Requires %s on a tile within the city "
841 Q_(
"?extra:Prevented by %s on any tile within the city "
846 case REQ_RANGE_TRADEROUTE:
850 Q_(
"?extra:Requires %s on a tile within the city "
851 "radius, or the city radius of a trade partner."),
855 Q_(
"?extra:Prevented by %s on any tile within the city "
856 "radius or the city radius of a trade partner."),
860 case REQ_RANGE_CONTINENT:
861 case REQ_RANGE_PLAYER:
863 case REQ_RANGE_ALLIANCE:
864 case REQ_RANGE_WORLD:
865 case REQ_RANGE_COUNT:
872 switch (preq->
range) {
883 case REQ_RANGE_LOCAL:
884 case REQ_RANGE_CADJACENT:
885 case REQ_RANGE_ADJACENT:
886 case REQ_RANGE_TRADEROUTE:
887 case REQ_RANGE_CONTINENT:
888 case REQ_RANGE_PLAYER:
890 case REQ_RANGE_ALLIANCE:
891 case REQ_RANGE_WORLD:
892 case REQ_RANGE_COUNT:
899 switch (preq->
range) {
900 case REQ_RANGE_LOCAL:
906 cat_snprintf(buf, bufsz,
Q_(
"?terrain:Prevented by %s on the tile."),
910 case REQ_RANGE_CADJACENT:
914 Q_(
"?terrain:Requires %s on the tile or a cardinally "
919 Q_(
"?terrain:Prevented by %s on the tile or any "
920 "cardinally adjacent tile."),
924 case REQ_RANGE_ADJACENT:
928 Q_(
"?terrain:Requires %s on the tile or an adjacent "
933 Q_(
"?terrain:Prevented by %s on the tile or any "
942 Q_(
"?terrain:Requires %s on a tile within the city "
948 Q_(
"?terrain:Prevented by %s on any tile within the city "
953 case REQ_RANGE_TRADEROUTE:
957 Q_(
"?terrain:Requires %s on a tile within the city "
958 "radius, or the city radius of a trade partner."),
963 Q_(
"?terrain:Prevented by %s on any tile within the city "
964 "radius or the city radius of a trade partner."),
968 case REQ_RANGE_CONTINENT:
969 case REQ_RANGE_PLAYER:
971 case REQ_RANGE_ALLIANCE:
972 case REQ_RANGE_WORLD:
973 case REQ_RANGE_COUNT:
980 switch (preq->
range) {
981 case REQ_RANGE_PLAYER:
986 _(
"Requires that you are playing as the %s."),
991 _(
"Requires that you are not playing as the %s."),
1000 _(
"Requires that you are on the same team as "
1006 _(
"Requires that you are not on the same team as "
1011 case REQ_RANGE_ALLIANCE:
1016 _(
"Requires that you are allied with the %s."),
1021 _(
"Requires that you are not allied with the %s."),
1025 case REQ_RANGE_WORLD:
1031 _(
"Requires the %s to have been in the game."),
1036 _(
"Requires the %s never to have been in the "
1044 _(
"Requires the %s in the game."),
1049 _(
"Requires that the %s are not in the game."),
1054 case REQ_RANGE_LOCAL:
1055 case REQ_RANGE_CADJACENT:
1056 case REQ_RANGE_ADJACENT:
1057 case REQ_RANGE_CITY:
1058 case REQ_RANGE_TRADEROUTE:
1059 case REQ_RANGE_CONTINENT:
1060 case REQ_RANGE_COUNT:
1066 case VUT_NATIONGROUP:
1067 switch (preq->
range) {
1068 case REQ_RANGE_PLAYER:
1074 _(
"Requires that you are playing %s nation."),
1080 _(
"Prevented if you are playing %s nation."),
1084 case REQ_RANGE_TEAM:
1090 _(
"Requires %s nation on your team."),
1096 _(
"Prevented by %s nation on your team."),
1100 case REQ_RANGE_ALLIANCE:
1106 _(
"Requires %s nation in alliance with you."),
1112 _(
"Prevented if %s nation is in alliance with you."),
1116 case REQ_RANGE_WORLD:
1122 _(
"Requires %s nation in the game."),
1128 _(
"Prevented by %s nation in the game."),
1132 case REQ_RANGE_LOCAL:
1133 case REQ_RANGE_CADJACENT:
1134 case REQ_RANGE_ADJACENT:
1135 case REQ_RANGE_CITY:
1136 case REQ_RANGE_TRADEROUTE:
1137 case REQ_RANGE_CONTINENT:
1138 case REQ_RANGE_COUNT:
1145 if (preq->
range != REQ_RANGE_PLAYER) {
1153 _(
"Requires that you are playing %s style nation."),
1159 _(
"Requires that you are not playing %s style nation."),
1164 case VUT_NATIONALITY:
1165 switch (preq->
range) {
1166 case REQ_RANGE_TRADEROUTE:
1172 _(
"Requires at least one %s citizen in the city or a "
1179 _(
"Requires that there are no %s citizens in "
1180 "the city or any trade partners."),
1184 case REQ_RANGE_CITY:
1190 _(
"Requires at least one %s citizen in the city."),
1196 _(
"Requires that there are no %s citizens in "
1201 case REQ_RANGE_WORLD:
1202 case REQ_RANGE_ALLIANCE:
1203 case REQ_RANGE_TEAM:
1204 case REQ_RANGE_PLAYER:
1205 case REQ_RANGE_LOCAL:
1206 case REQ_RANGE_CADJACENT:
1207 case REQ_RANGE_ADJACENT:
1208 case REQ_RANGE_CONTINENT:
1209 case REQ_RANGE_COUNT:
1216 switch (preq->
range) {
1217 case REQ_RANGE_PLAYER:
1226 _(
"Requires that you have the relationship '%s' with at "
1227 "least one other living player."),
1231 _(
"Requires that you do not have the relationship '%s' "
1232 "with any living player."),
1236 case REQ_RANGE_TEAM:
1240 _(
"Requires that somebody on your team has the "
1241 "relationship '%s' with at least one other living "
1246 _(
"Requires that nobody on your team has the "
1247 "relationship '%s' with any living player."),
1251 case REQ_RANGE_ALLIANCE:
1255 _(
"Requires that somebody in your alliance has the "
1256 "relationship '%s' with at least one other living "
1261 _(
"Requires that nobody in your alliance has the "
1262 "relationship '%s' with any living player."),
1266 case REQ_RANGE_WORLD:
1270 _(
"Requires the relationship '%s' between two living "
1275 _(
"Requires that no two living players have the "
1276 "relationship '%s'."),
1280 case REQ_RANGE_LOCAL:
1285 _(
"Requires that you have the relationship '%s' with the "
1290 _(
"Requires that you do not have the relationship '%s' "
1291 "with the other player."),
1295 case REQ_RANGE_CADJACENT:
1296 case REQ_RANGE_ADJACENT:
1297 case REQ_RANGE_CITY:
1298 case REQ_RANGE_TRADEROUTE:
1299 case REQ_RANGE_CONTINENT:
1300 case REQ_RANGE_COUNT:
1307 switch (preq->
range) {
1308 case REQ_RANGE_LOCAL:
1320 case REQ_RANGE_CADJACENT:
1321 case REQ_RANGE_ADJACENT:
1322 case REQ_RANGE_CITY:
1323 case REQ_RANGE_TRADEROUTE:
1324 case REQ_RANGE_CONTINENT:
1325 case REQ_RANGE_PLAYER:
1326 case REQ_RANGE_TEAM:
1327 case REQ_RANGE_ALLIANCE:
1328 case REQ_RANGE_WORLD:
1329 case REQ_RANGE_COUNT:
1336 switch (preq->
range) {
1337 case REQ_RANGE_LOCAL: {
1348 qUtf8Printable(roles));
1352 qUtf8Printable(roles));
1357 case REQ_RANGE_CADJACENT:
1358 case REQ_RANGE_ADJACENT:
1359 case REQ_RANGE_CITY:
1360 case REQ_RANGE_TRADEROUTE:
1361 case REQ_RANGE_CONTINENT:
1362 case REQ_RANGE_PLAYER:
1363 case REQ_RANGE_TEAM:
1364 case REQ_RANGE_ALLIANCE:
1365 case REQ_RANGE_WORLD:
1366 case REQ_RANGE_COUNT:
1373 switch (preq->
range) {
1374 case REQ_RANGE_LOCAL:
1382 cat_snprintf(buf, bufsz,
Q_(
"?uclass:Does not apply to %s units."),
1386 case REQ_RANGE_CADJACENT:
1387 case REQ_RANGE_ADJACENT:
1388 case REQ_RANGE_CITY:
1389 case REQ_RANGE_TRADEROUTE:
1390 case REQ_RANGE_CONTINENT:
1391 case REQ_RANGE_PLAYER:
1392 case REQ_RANGE_TEAM:
1393 case REQ_RANGE_ALLIANCE:
1394 case REQ_RANGE_WORLD:
1395 case REQ_RANGE_COUNT:
1417 switch (preq->
range) {
1418 case REQ_RANGE_LOCAL:
1423 qUtf8Printable(list));
1427 Q_(
"?uclasslist:Does not apply to "
1429 qUtf8Printable(list));
1433 case REQ_RANGE_CADJACENT:
1434 case REQ_RANGE_ADJACENT:
1435 case REQ_RANGE_CITY:
1436 case REQ_RANGE_TRADEROUTE:
1437 case REQ_RANGE_CONTINENT:
1438 case REQ_RANGE_PLAYER:
1439 case REQ_RANGE_TEAM:
1440 case REQ_RANGE_ALLIANCE:
1441 case REQ_RANGE_WORLD:
1442 case REQ_RANGE_COUNT:
1451 case VUT_UNITSTATE: {
1452 switch (preq->
range) {
1453 case REQ_RANGE_LOCAL:
1455 case USP_TRANSPORTED:
1459 _(
"Requires that the unit is transported."));
1462 _(
"Requires that the unit isn't transported."));
1465 case USP_LIVABLE_TILE:
1469 _(
"Requires that the unit is on livable tile."));
1472 _(
"Requires that the unit isn't on livable tile."));
1475 case USP_DOMESTIC_TILE:
1479 _(
"Requires that the unit is on a domestic "
1483 _(
"Requires that the unit isn't on a domestic "
1487 case USP_TRANSPORTING:
1491 _(
"Requires that the unit does transport one or "
1492 "more cargo units."));
1495 _(
"Requires that the unit doesn't transport "
1496 "any cargo units."));
1499 case USP_HAS_HOME_CITY:
1503 _(
"Requires that the unit has a home city."));
1505 cat_snprintf(buf, bufsz,
_(
"Requires that the unit is homeless."));
1508 case USP_NATIVE_TILE:
1512 _(
"Requires that the unit is on native tile."));
1515 _(
"Requires that the unit isn't on native tile."));
1518 case USP_NATIVE_EXTRA:
1522 _(
"Requires that the unit is in a native extra."));
1525 _(
"Requires that the unit isn't in a native extra."));
1528 case USP_MOVED_THIS_TURN:
1532 _(
"Requires that the unit has moved this turn."));
1535 _(
"Requires that the unit hasn't moved this turn."));
1540 "Invalid unit state property.");
1543 case REQ_RANGE_CADJACENT:
1544 case REQ_RANGE_ADJACENT:
1545 case REQ_RANGE_CITY:
1546 case REQ_RANGE_TRADEROUTE:
1547 case REQ_RANGE_CONTINENT:
1548 case REQ_RANGE_PLAYER:
1549 case REQ_RANGE_TEAM:
1550 case REQ_RANGE_ALLIANCE:
1551 case REQ_RANGE_WORLD:
1552 case REQ_RANGE_COUNT:
1558 case VUT_ACTIVITY: {
1559 switch (preq->
range) {
1560 case REQ_RANGE_LOCAL:
1564 _(
"Requires that the unit is performing activity %s."),
1569 _(
"Requires that the unit is not performing activity %s."),
1573 case REQ_RANGE_CADJACENT:
1574 case REQ_RANGE_ADJACENT:
1575 case REQ_RANGE_CITY:
1576 case REQ_RANGE_TRADEROUTE:
1577 case REQ_RANGE_CONTINENT:
1578 case REQ_RANGE_PLAYER:
1579 case REQ_RANGE_TEAM:
1580 case REQ_RANGE_ALLIANCE:
1581 case REQ_RANGE_WORLD:
1582 case REQ_RANGE_COUNT:
1588 case VUT_MINMOVES: {
1589 switch (preq->
range) {
1590 case REQ_RANGE_LOCAL:
1596 _(
"Requires that the unit has at least %s MP left."),
1602 _(
"Requires that the unit has less than %s MP left."),
1606 case REQ_RANGE_CADJACENT:
1607 case REQ_RANGE_ADJACENT:
1608 case REQ_RANGE_CITY:
1609 case REQ_RANGE_TRADEROUTE:
1610 case REQ_RANGE_CONTINENT:
1611 case REQ_RANGE_PLAYER:
1612 case REQ_RANGE_TEAM:
1613 case REQ_RANGE_ALLIANCE:
1614 case REQ_RANGE_WORLD:
1615 case REQ_RANGE_COUNT:
1621 case VUT_MINVETERAN:
1622 if (preq->
range != REQ_RANGE_LOCAL) {
1630 PL_(
"Requires a unit with at least %d veteran level.",
1631 "Requires a unit with at least %d veteran levels.",
1636 PL_(
"Requires a unit with fewer than %d veteran level.",
1637 "Requires a unit with fewer than %d veteran levels.",
1644 if (preq->
range != REQ_RANGE_LOCAL) {
1651 PL_(
"Requires a unit with at least %d hit point left.",
1652 "Requires a unit with at least %d hit points left.",
1657 PL_(
"Requires a unit with fewer than %d hit point "
1659 "Requires a unit with fewer than %d hit points "
1667 if (preq->
range != REQ_RANGE_LOCAL) {
1682 case VUT_SPECIALIST:
1683 if (preq->
range != REQ_RANGE_LOCAL) {
1690 buf, bufsz,
Q_(
"?specialist:Applies only to %s."),
1695 buf, bufsz,
Q_(
"?specialist:Does not apply to %s."),
1701 switch (preq->
range) {
1702 case REQ_RANGE_TRADEROUTE:
1706 PL_(
"Requires a minimum city size of %d for this "
1707 "city or a trade partner.",
1708 "Requires a minimum city size of %d for this "
1709 "city or a trade partner.",
1714 PL_(
"Requires the city size to be less than %d "
1715 "for this city and all trade partners.",
1716 "Requires the city size to be less than %d "
1717 "for this city and all trade partners.",
1722 case REQ_RANGE_CITY:
1726 PL_(
"Requires a minimum city size of %d.",
1727 "Requires a minimum city size of %d.",
1732 PL_(
"Requires the city size to be less than %d.",
1733 "Requires the city size to be less than %d.",
1738 case REQ_RANGE_LOCAL:
1739 case REQ_RANGE_CADJACENT:
1740 case REQ_RANGE_ADJACENT:
1741 case REQ_RANGE_CONTINENT:
1742 case REQ_RANGE_PLAYER:
1743 case REQ_RANGE_TEAM:
1744 case REQ_RANGE_ALLIANCE:
1745 case REQ_RANGE_WORLD:
1746 case REQ_RANGE_COUNT:
1752 case VUT_MINCULTURE:
1753 switch (preq->
range) {
1754 case REQ_RANGE_CITY:
1758 PL_(
"Requires a minimum culture of %d in the city.",
1759 "Requires a minimum culture of %d in the city.",
1764 PL_(
"Requires the culture in the city to be less "
1766 "Requires the culture in the city to be less "
1772 case REQ_RANGE_TRADEROUTE:
1776 PL_(
"Requires a minimum culture of %d in this city or "
1778 "Requires a minimum culture of %d in this city or "
1784 PL_(
"Requires the culture in this city and all trade "
1785 "partners to be less than %d.",
1786 "Requires the culture in this city and all trade "
1787 "partners to be less than %d.",
1792 case REQ_RANGE_PLAYER:
1796 PL_(
"Requires your nation to have culture "
1798 "Requires your nation to have culture "
1804 PL_(
"Prevented if your nation has culture of "
1806 "Prevented if your nation has culture of "
1812 case REQ_RANGE_TEAM:
1816 PL_(
"Requires someone on your team to have culture of "
1818 "Requires someone on your team to have culture of "
1824 PL_(
"Prevented if anyone on your team has culture of "
1826 "Prevented if anyone on your team has culture of "
1832 case REQ_RANGE_ALLIANCE:
1836 PL_(
"Requires someone in your current alliance to "
1837 "have culture of at least %d.",
1838 "Requires someone in your current alliance to "
1839 "have culture of at least %d.",
1844 PL_(
"Prevented if anyone in your current alliance has "
1845 "culture of %d or more.",
1846 "Prevented if anyone in your current alliance has "
1847 "culture of %d or more.",
1852 case REQ_RANGE_WORLD:
1856 PL_(
"Requires that some player has culture of at "
1858 "Requires that some player has culture of at "
1864 PL_(
"Requires that no player has culture of %d "
1866 "Requires that no player has culture of %d "
1872 case REQ_RANGE_LOCAL:
1873 case REQ_RANGE_CADJACENT:
1874 case REQ_RANGE_ADJACENT:
1875 case REQ_RANGE_CONTINENT:
1876 case REQ_RANGE_COUNT:
1881 case VUT_MINFOREIGNPCT:
1882 switch (preq->
range) {
1883 case REQ_RANGE_CITY:
1887 _(
"At least %d%% of the citizens of the city "
1888 "must be foreign."),
1892 _(
"Less than %d%% of the citizens of the city "
1893 "must be foreign."),
1897 case REQ_RANGE_TRADEROUTE:
1901 _(
"At least %d%% of the citizens of the city "
1902 "or some trade partner must be foreign."),
1906 _(
"Less than %d%% of the citizens of the city "
1907 "and each trade partner must be foreign."),
1911 case REQ_RANGE_PLAYER:
1912 case REQ_RANGE_TEAM:
1913 case REQ_RANGE_ALLIANCE:
1914 case REQ_RANGE_WORLD:
1915 case REQ_RANGE_LOCAL:
1916 case REQ_RANGE_CADJACENT:
1917 case REQ_RANGE_ADJACENT:
1918 case REQ_RANGE_CONTINENT:
1919 case REQ_RANGE_COUNT:
1924 case VUT_MAXTILEUNITS:
1925 switch (preq->
range) {
1926 case REQ_RANGE_LOCAL:
1930 PL_(
"At most %d unit may be present on the tile.",
1931 "At most %d units may be present on the tile.",
1936 PL_(
"There must be more than %d unit present on "
1938 "There must be more than %d units present on "
1944 case REQ_RANGE_CADJACENT:
1948 PL_(
"The tile or at least one cardinally adjacent tile "
1949 "must have %d unit or fewer.",
1950 "The tile or at least one cardinally adjacent tile "
1951 "must have %d units or fewer.",
1956 PL_(
"The tile and all cardinally adjacent tiles must "
1957 "have more than %d unit each.",
1958 "The tile and all cardinally adjacent tiles must "
1959 "have more than %d units each.",
1964 case REQ_RANGE_ADJACENT:
1968 PL_(
"The tile or at least one adjacent tile must have "
1969 "%d unit or fewer.",
1970 "The tile or at least one adjacent tile must have "
1971 "%d units or fewer.",
1976 PL_(
"The tile and all adjacent tiles must have more "
1977 "than %d unit each.",
1978 "The tile and all adjacent tiles must have more "
1979 "than %d units each.",
1984 case REQ_RANGE_CITY:
1985 case REQ_RANGE_TRADEROUTE:
1986 case REQ_RANGE_CONTINENT:
1987 case REQ_RANGE_PLAYER:
1988 case REQ_RANGE_TEAM:
1989 case REQ_RANGE_ALLIANCE:
1990 case REQ_RANGE_WORLD:
1991 case REQ_RANGE_COUNT:
1998 if (preq->
range != REQ_RANGE_PLAYER) {
2005 _(
"Applies to %s AI players."),
2010 _(
"Does not apply to %s AI players."),
2015 case VUT_TERRAINCLASS:
2016 switch (preq->
range) {
2017 case REQ_RANGE_LOCAL:
2022 Q_(
"?terrainclass:Requires %s terrain on the tile."),
2029 Q_(
"?terrainclass:Prevented by %s terrain on the tile."),
2034 case REQ_RANGE_CADJACENT:
2039 Q_(
"?terrainclass:Requires %s terrain on the tile or a "
2040 "cardinally adjacent tile."),
2047 Q_(
"?terrainclass:Prevented by %s terrain on the tile or "
2048 "any cardinally adjacent tile."),
2053 case REQ_RANGE_ADJACENT:
2059 Q_(
"?terrainclass:Requires %s terrain on the tile or an "
2067 Q_(
"?terrainclass:Prevented by %s terrain on the tile or "
2068 "any adjacent tile."),
2073 case REQ_RANGE_CITY:
2078 Q_(
"?terrainclass:Requires %s terrain on a tile within "
2079 "the city radius."),
2085 Q_(
"?terrainclass:Prevented by %s terrain on any tile "
2086 "within the city radius."),
2091 case REQ_RANGE_TRADEROUTE:
2096 Q_(
"?terrainclass:Requires %s terrain on a tile within "
2097 "the city radius or the city radius of a trade "
2105 Q_(
"?terrainclass:Prevented by %s terrain on any tile "
2106 "within the city radius or the city radius of a trade "
2112 case REQ_RANGE_CONTINENT:
2113 case REQ_RANGE_PLAYER:
2114 case REQ_RANGE_TEAM:
2115 case REQ_RANGE_ALLIANCE:
2116 case REQ_RANGE_WORLD:
2117 case REQ_RANGE_COUNT:
2124 switch (preq->
range) {
2125 case REQ_RANGE_LOCAL:
2130 _(
"Requires terrain with the \"%s\" flag on the tile."),
2131 terrain_flag_id_translated_name(
2136 _(
"Prevented by terrain with the \"%s\" flag on the "
2138 terrain_flag_id_translated_name(
2142 case REQ_RANGE_CADJACENT:
2147 _(
"Requires terrain with the \"%s\" flag on the "
2148 "tile or a cardinally adjacent tile."),
2149 terrain_flag_id_translated_name(
2154 _(
"Prevented by terrain with the \"%s\" flag on "
2155 "the tile or any cardinally adjacent tile."),
2156 terrain_flag_id_translated_name(
2160 case REQ_RANGE_ADJACENT:
2165 _(
"Requires terrain with the \"%s\" flag on the "
2166 "tile or an adjacent tile."),
2167 terrain_flag_id_translated_name(
2172 _(
"Prevented by terrain with the \"%s\" flag on "
2173 "the tile or any adjacent tile."),
2174 terrain_flag_id_translated_name(
2178 case REQ_RANGE_CITY:
2183 _(
"Requires terrain with the \"%s\" flag on a tile "
2184 "within the city radius."),
2185 terrain_flag_id_translated_name(
2191 _(
"Prevented by terrain with the \"%s\" flag on any tile "
2192 "within the city radius."),
2193 terrain_flag_id_translated_name(
2197 case REQ_RANGE_TRADEROUTE:
2202 _(
"Requires terrain with the \"%s\" flag on a tile "
2203 "within the city radius or the city radius of "
2204 "a trade partner."),
2205 terrain_flag_id_translated_name(
2211 _(
"Prevented by terrain with the \"%s\" flag on any tile "
2212 "within the city radius or the city radius of "
2213 "a trade partner."),
2214 terrain_flag_id_translated_name(
2218 case REQ_RANGE_CONTINENT:
2219 case REQ_RANGE_PLAYER:
2220 case REQ_RANGE_TEAM:
2221 case REQ_RANGE_ALLIANCE:
2222 case REQ_RANGE_WORLD:
2223 case REQ_RANGE_COUNT:
2230 switch (preq->
range) {
2231 case REQ_RANGE_LOCAL:
2236 _(
"Requires a base with the \"%s\" flag on the tile."),
2237 base_flag_id_translated_name(
2242 _(
"Prevented by a base with the \"%s\" flag on the "
2244 base_flag_id_translated_name(
2248 case REQ_RANGE_CADJACENT:
2253 _(
"Requires a base with the \"%s\" flag on the "
2254 "tile or a cardinally adjacent tile."),
2255 base_flag_id_translated_name(
2260 _(
"Prevented by a base with the \"%s\" flag on "
2261 "the tile or any cardinally adjacent tile."),
2262 base_flag_id_translated_name(
2266 case REQ_RANGE_ADJACENT:
2271 _(
"Requires a base with the \"%s\" flag on the "
2272 "tile or an adjacent tile."),
2273 base_flag_id_translated_name(
2278 _(
"Prevented by a base with the \"%s\" flag on "
2279 "the tile or any adjacent tile."),
2280 base_flag_id_translated_name(
2284 case REQ_RANGE_CITY:
2289 _(
"Requires a base with the \"%s\" flag on a tile "
2290 "within the city radius."),
2291 base_flag_id_translated_name(
2297 _(
"Prevented by a base with the \"%s\" flag on any tile "
2298 "within the city radius."),
2299 base_flag_id_translated_name(
2303 case REQ_RANGE_TRADEROUTE:
2308 _(
"Requires a base with the \"%s\" flag on a tile "
2309 "within the city radius or the city radius of a "
2311 base_flag_id_translated_name(
2317 _(
"Prevented by a base with the \"%s\" flag on any tile "
2318 "within the city radius or the city radius of a "
2320 base_flag_id_translated_name(
2324 case REQ_RANGE_CONTINENT:
2325 case REQ_RANGE_PLAYER:
2326 case REQ_RANGE_TEAM:
2327 case REQ_RANGE_ALLIANCE:
2328 case REQ_RANGE_WORLD:
2329 case REQ_RANGE_COUNT:
2336 switch (preq->
range) {
2337 case REQ_RANGE_LOCAL:
2342 _(
"Requires a road with the \"%s\" flag on the tile."),
2343 road_flag_id_translated_name(
2348 _(
"Prevented by a road with the \"%s\" flag on the "
2350 road_flag_id_translated_name(
2354 case REQ_RANGE_CADJACENT:
2359 _(
"Requires a road with the \"%s\" flag on the "
2360 "tile or a cardinally adjacent tile."),
2361 road_flag_id_translated_name(
2366 _(
"Prevented by a road with the \"%s\" flag on "
2367 "the tile or any cardinally adjacent tile."),
2368 road_flag_id_translated_name(
2372 case REQ_RANGE_ADJACENT:
2377 _(
"Requires a road with the \"%s\" flag on the "
2378 "tile or an adjacent tile."),
2379 road_flag_id_translated_name(
2384 _(
"Prevented by a road with the \"%s\" flag on "
2385 "the tile or any adjacent tile."),
2386 road_flag_id_translated_name(
2390 case REQ_RANGE_CITY:
2395 _(
"Requires a road with the \"%s\" flag on a tile "
2396 "within the city radius."),
2397 road_flag_id_translated_name(
2403 _(
"Prevented by a road with the \"%s\" flag on any tile "
2404 "within the city radius."),
2405 road_flag_id_translated_name(
2409 case REQ_RANGE_TRADEROUTE:
2414 _(
"Requires a road with the \"%s\" flag on a tile "
2415 "within the city radius or the city radius of a "
2417 road_flag_id_translated_name(
2423 _(
"Prevented by a road with the \"%s\" flag on any tile "
2424 "within the city radius or the city radius of a "
2426 road_flag_id_translated_name(
2430 case REQ_RANGE_CONTINENT:
2431 case REQ_RANGE_PLAYER:
2432 case REQ_RANGE_TEAM:
2433 case REQ_RANGE_ALLIANCE:
2434 case REQ_RANGE_WORLD:
2435 case REQ_RANGE_COUNT:
2442 switch (preq->
range) {
2443 case REQ_RANGE_LOCAL:
2449 _(
"Requires an extra with the \"%s\" flag on the tile."),
2450 extra_flag_id_translated_name(
2455 _(
"Prevented by an extra with the \"%s\" flag on the "
2457 extra_flag_id_translated_name(
2461 case REQ_RANGE_CADJACENT:
2466 _(
"Requires an extra with the \"%s\" flag on the "
2467 "tile or a cardinally adjacent tile."),
2468 extra_flag_id_translated_name(
2473 _(
"Prevented by an extra with the \"%s\" flag on "
2474 "the tile or any cardinally adjacent tile."),
2475 extra_flag_id_translated_name(
2479 case REQ_RANGE_ADJACENT:
2484 _(
"Requires an extra with the \"%s\" flag on the "
2485 "tile or an adjacent tile."),
2486 extra_flag_id_translated_name(
2491 _(
"Prevented by an extra with the \"%s\" flag on "
2492 "the tile or any adjacent tile."),
2493 extra_flag_id_translated_name(
2497 case REQ_RANGE_CITY:
2502 _(
"Requires an extra with the \"%s\" flag on a tile "
2503 "within the city radius."),
2504 extra_flag_id_translated_name(
2510 _(
"Prevented by an extra with the \"%s\" flag on any tile "
2511 "within the city radius."),
2512 extra_flag_id_translated_name(
2516 case REQ_RANGE_TRADEROUTE:
2521 _(
"Requires an extra with the \"%s\" flag on a tile "
2522 "within the city radius or the city radius of a "
2524 extra_flag_id_translated_name(
2530 _(
"Prevented by an extra with the \"%s\" flag on any tile "
2531 "within the city radius or the city radius of a "
2533 extra_flag_id_translated_name(
2537 case REQ_RANGE_CONTINENT:
2538 case REQ_RANGE_PLAYER:
2539 case REQ_RANGE_TEAM:
2540 case REQ_RANGE_ALLIANCE:
2541 case REQ_RANGE_WORLD:
2542 case REQ_RANGE_COUNT:
2549 if (preq->
range != REQ_RANGE_WORLD) {
2555 _(
"Requires the game to have reached the year %s."),
2559 _(
"Requires that the game has not yet reached the "
2565 case VUT_MINCALFRAG:
2566 if (preq->
range != REQ_RANGE_WORLD) {
2574 _(
"Requires the game to have reached %s."),
2580 _(
"Requires that the game has not yet reached %s."),
2586 if (preq->
range != REQ_RANGE_WORLD) {
2593 _(
"Requires %s map."),
2598 _(
"Prevented on %s map."),
2603 case VUT_SERVERSETTING:
2604 if (preq->
range != REQ_RANGE_WORLD) {
2613 _(
"Requires that the server setting %s."),
2624 cat_snprintf(buf, bufsz,
_(
"Prevented if age is over %d turns."),
2630 switch (preq->
range) {
2631 case REQ_RANGE_WORLD:
2635 _(
"Requires %d techs to be known in the world."),
2639 _(
"Prevented when %d techs are known in the world."),
2643 case REQ_RANGE_PLAYER:
2646 cat_snprintf(buf, bufsz,
_(
"Requires player to know %d techs."),
2649 cat_snprintf(buf, bufsz,
_(
"Prevented when player knows %d techs."),
2653 case REQ_RANGE_LOCAL:
2654 case REQ_RANGE_CADJACENT:
2655 case REQ_RANGE_ADJACENT:
2656 case REQ_RANGE_CITY:
2657 case REQ_RANGE_TRADEROUTE:
2658 case REQ_RANGE_CONTINENT:
2659 case REQ_RANGE_TEAM:
2660 case REQ_RANGE_ALLIANCE:
2661 case REQ_RANGE_COUNT:
2667 case VUT_TERRAINALTER:
2668 switch (preq->
range) {
2669 case REQ_RANGE_LOCAL:
2673 _(
"Requires terrain on which alteration %s is "
2675 Q_(terrain_alteration_name(terrain_alteration(
2679 _(
"Prevented by terrain on which alteration %s "
2681 Q_(terrain_alteration_name(terrain_alteration(
2685 case REQ_RANGE_CADJACENT:
2686 case REQ_RANGE_ADJACENT:
2687 case REQ_RANGE_CITY:
2688 case REQ_RANGE_TRADEROUTE:
2689 case REQ_RANGE_CONTINENT:
2690 case REQ_RANGE_PLAYER:
2691 case REQ_RANGE_TEAM:
2692 case REQ_RANGE_ALLIANCE:
2693 case REQ_RANGE_WORLD:
2694 case REQ_RANGE_COUNT:
2704 static const char *tile_property =
nullptr;
2708 tile_property =
"city centers";
2711 tile_property =
"claimed tiles";
2718 switch (preq->
range) {
2719 case REQ_RANGE_LOCAL:
2724 Q_(
"?tileprop:Applies only to %s."), tile_property);
2728 Q_(
"?tileprop:Does not apply to %s."), tile_property);
2731 case REQ_RANGE_CADJACENT:
2736 Q_(
"?tileprop:Applies only to %s and "
2737 "cardinally adjacent tiles."),
2742 Q_(
"?tileprop:Does not apply to %s or "
2743 "cardinally adjacent tiles."),
2747 case REQ_RANGE_ADJACENT:
2752 Q_(
"?tileprop:Applies only to %s and "
2758 Q_(
"?tileprop:Does not apply to %s or "
2763 case REQ_RANGE_CITY:
2764 case REQ_RANGE_TRADEROUTE:
2765 case REQ_RANGE_CONTINENT:
2766 case REQ_RANGE_PLAYER:
2767 case REQ_RANGE_TEAM:
2768 case REQ_RANGE_ALLIANCE:
2769 case REQ_RANGE_WORLD:
2770 case REQ_RANGE_COUNT:
2776 case VUT_CITYSTATUS:
2780 static const char *city_property =
nullptr;
2783 case CITYS_OWNED_BY_ORIGINAL:
2784 city_property =
"owned by original";
2791 switch (preq->
range) {
2792 case REQ_RANGE_CITY:
2796 cat_snprintf(buf, bufsz,
Q_(
"?cityprop:Applies only to %s cities"),
2801 Q_(
"?cityprop:Does not apply to %s cities"),
2805 case REQ_RANGE_TRADEROUTE:
2810 Q_(
"?cityprop:Applies only to %s cities or "
2811 "their trade partners."),
2816 Q_(
"?cityprop:Does not apply to %s cities or "
2817 "their trade partners."),
2821 case REQ_RANGE_LOCAL:
2822 case REQ_RANGE_ADJACENT:
2823 case REQ_RANGE_CADJACENT:
2824 case REQ_RANGE_CONTINENT:
2825 case REQ_RANGE_PLAYER:
2826 case REQ_RANGE_TEAM:
2827 case REQ_RANGE_ALLIANCE:
2828 case REQ_RANGE_WORLD:
2829 case REQ_RANGE_COUNT:
2835 case VUT_VISIONLAYER:
2836 switch (preq->
range) {
2837 case REQ_RANGE_LOCAL:
2840 cat_snprintf(buf, bufsz,
_(
"Applies to the \"%s\" vision layer."),
2841 qUtf8Printable(vision_layer_translated_name(
2845 _(
"Doesn't apply to the \"%s\""
2847 qUtf8Printable(vision_layer_translated_name(
2862 qUtf8Printable(national_intelligence_translated_name(
2866 cat_snprintf(buf, bufsz,
_(
"For intelligence other than %s."),
2867 qUtf8Printable(national_intelligence_translated_name(
2880 qCritical(
"%s requirement %s in range %d is not supported in reqtext.c.",
2881 preq->
present ?
"Present" :
"Absent",
const char * achievement_name_translation(struct achievement *pach)
Return translated name of this achievement type.
const QString action_name_translation(const struct action *action)
Get the action name used when displaying the action in the UI.
QString strvec_to_or_list(const QVector< QString > &psv)
const char * textcalfrag(int frag)
Produce a statically allocated textual representation of the given calendar fragment.
const char * textyear(int year)
Produce a statically allocated textual representation of the given year.
const char * get_output_name(Output_type_id output)
Return a translated name for the output type.
#define PL_(String1, String2, n)
const char * government_name_translation(const struct government *pgovern)
Return the (translated) name of the given government.
bool can_improvement_go_obsolete(const struct impr_type *pimprove)
Return TRUE if the improvement can ever go obsolete.
bool is_wonder(const struct impr_type *pimprove)
Returns whether improvement is some kind of wonder.
bool is_great_wonder(const struct impr_type *pimprove)
Is this building a great wonder?
const char * improvement_name_translation(const struct impr_type *pimprove)
Return the (translated) name of the given improvement.
#define fc_assert_msg(condition, message,...)
#define fc_assert(condition)
const char * move_points_text(int mp, bool reduce)
Simple version of move_points_text_full() – render positive movement points as text without any prefi...
const char * nation_group_name_translation(const struct nation_group *pgroup)
Return the translated name of a nation group.
const char * nation_adjective_translation(const struct nation_type *pnation)
Return the (translated) adjective for the given nation.
const char * nation_plural_translation(const struct nation_type *pnation)
Return the (translated) plural noun of the given nation.
const char * diplrel_name_translation(int value)
Return the translated name of the given diplomatic relation.
bool req_text_insert_nl(char *buf, size_t bufsz, struct player *pplayer, const struct requirement *preq, enum rt_verbosity verb, const char *prefix)
Append text for the requirement.
bool req_text_insert(char *buf, size_t bufsz, struct player *pplayer, const struct requirement *preq, enum rt_verbosity verb, const char *prefix)
Append text for the requirement.
const char * universal_name_translation(const struct universal *psource, char *buf, size_t bufsz)
Make user-friendly text for the source.
QString ssetv_human_readable(ssetv val, bool present)
Returns the server setting - value pair formated in a user readable way.
const char * specialist_plural_translation(const struct specialist *sp)
Return the (translated, plural) name of the specialist type.
const char * style_name_translation(const struct nation_style *pstyle)
Return the (translated) name of the style.
size_t fc_strlcat(char *dest, const char *src, size_t n)
fc_strlcat() provides utf-8 version of (non-standard) function strlcat() It is intended as more user-...
int cat_snprintf(char *str, size_t n, const char *format,...)
cat_snprintf is like a combination of fc_snprintf and fc_strlcat; it does snprintf to the end of an e...
const char * advance_name_translation(const struct advance *padvance)
Return the (translated) name of the given advance/technology.
const char * terrain_class_name_translation(enum terrain_class tclass)
Return the (translated) name of the given terrain class.
const char * terrain_name_translation(const struct terrain *pterrain)
Return the (translated) name of the terrain.
const char * goods_name_translation(struct goods_type *pgood)
Return translated name of this goods type.
const struct unit_type * utype
struct nation_style * style
struct specialist * specialist
enum impr_genus_id impr_genus
enum citytile_type citytile
struct nation_group * nationgroup
struct extra_type * extra
struct nation_type * nation
struct government * govern
enum citystatus_type citystatus
const struct impr_type * building
struct achievement * achievement
enum unit_activity activity
enum national_intelligence nintel
enum ustate_prop unit_state
Output_type_id outputtype
enum topo_flag topo_property
struct unit_class * uclass
struct nation_type * nationality
const char * uclass_name_translation(const struct unit_class *pclass)
Return the (translated) name of the unit class.
Unit_Class_id uclass_count()
Return the unit_class count.
bool role_units_translations(QString &astr, int flag, bool alts)
Return a string with all the names of units with this flag.
const char * utype_name_translation(const struct unit_type *punittype)
Return the (translated) name of the unit type.
static bool uclass_has_flag(const struct unit_class *punitclass, enum unit_class_flag_id flag)
#define unit_class_iterate(_p)
#define unit_class_iterate_end