aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp/acp_forums.php
blob: 4a5db8f7a05c8df8e282cf690887ddb166f511fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* @package acp
*/
class acp_forums
{
	var $u_action;
	var $parent_id = 0;

	function main($id, $mode)
	{
		global $db, $user, $auth, $template, $cache, $config;

		$user->add_lang('acp/forums');
		$this->tpl_name = 'acp_forums';
		$this->page_title = 'ACP_MANAGE_FORUMS';

		$form_key = 'acp_forums';
		add_form_key($form_key);

		$action		= request_var('action', '');
		$update		= (isset($_POST['update'])) ? true : false;
		$forum_id	= request_var('f', 0);

		$this->parent_id	= request_var('parent_id', 0);
		$forum_data = $errors = array();
		if ($update && !check_form_key($form_key))
		{
			$update = false;
			$errors[] = $user->lang['FORM_INVALID'];
		}

		// Check additional permissions
		switch ($action)
		{
			case 'progress_bar':
				$start = request_var('start', 0);
				$total = request_var('total', 0);

				$this->display_progress_bar($start, $total);
				exit_handler();
			break;

			case 'delete':

				if (!$auth->acl_get('a_forumdel'))
				{
					trigger_error($user->lang['NO_PERMISSION_FORUM_DELETE'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

			break;

			case 'add':

				if (!$auth->acl_get('a_forumadd'))
				{
					trigger_error($user->lang['NO_PERMISSION_FORUM_ADD'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}
			
			break;
		}

		// Major routines
		if ($update)
		{
			switch ($action)
			{
				case 'delete':
					$action_subforums	= request_var('action_subforums', '');
					$subforums_to_id	= request_var('subforums_to_id', 0);
					$action_posts		= request_var('action_posts', '');
					$posts_to_id		= request_var('posts_to_id', 0);

					$errors = $this->delete_forum($forum_id, $action_posts, $action_subforums, $posts_to_id, $subforums_to_id);

					if (sizeof($errors))
					{
						break;
					}

					$auth->acl_clear_prefetch();
					$cache->destroy('sql', FORUMS_TABLE);

					trigger_error($user->lang['FORUM_DELETED'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id));
	
				break;

				case 'edit':
					$forum_data = array(
						'forum_id'		=>	$forum_id
					);

				// No break here

				case 'add':

					$forum_data += array(
						'parent_id'				=> request_var('forum_parent_id', $this->parent_id),
						'forum_type'			=> request_var('forum_type', FORUM_POST),
						'type_action'			=> request_var('type_action', ''),
						'forum_status'			=> request_var('forum_status', ITEM_UNLOCKED),
						'forum_parents'			=> '',
						'forum_name'			=> utf8_normalize_nfc(request_var('forum_name', '', true)),
						'forum_link'			=> request_var('forum_link', ''),
						'forum_link_track'		=> request_var('forum_link_track', false),
						'forum_desc'			=> utf8_normalize_nfc(request_var('forum_desc', '', true)),
						'forum_desc_uid'		=> '',
						'forum_desc_options'	=> 7,
						'forum_desc_bitfield'	=> '',
						'forum_rules'			=> utf8_normalize_nfc(request_var('forum_rules', '', true)),
						'forum_rules_uid'		=> '',
						'forum_rules_options'	=> 7,
						'forum_rules_bitfield'	=> '',
						'forum_rules_link'		=> request_var('forum_rules_link', ''),
						'forum_image'			=> request_var('forum_image', ''),
						'forum_style'			=> request_var('forum_style', 0),
						'display_subforum_list'	=> request_var('display_subforum_list', false),
						'display_on_index'		=> request_var('display_on_index', false),
						'forum_topics_per_page'	=> request_var('topics_per_page', 0),
						'enable_indexing'		=> request_var('enable_indexing', true),
						'enable_icons'			=> request_var('enable_icons', false),
						'enable_prune'			=> request_var('enable_prune', false),
						'enable_post_review'	=> request_var('enable_post_review', true),
						'prune_days'			=> request_var('prune_days', 7),
						'prune_viewed'			=> request_var('prune_viewed', 7),
						'prune_freq'			=> request_var('prune_freq', 1),
						'prune_old_polls'		=> request_var('prune_old_polls', false),
						'prune_announce'		=> request_var('prune_announce', false),
						'prune_sticky'			=> request_var('prune_sticky', false),
						'forum_password'		=> request_var('forum_password', '', true),
						'forum_password_confirm'=> request_var('forum_password_confirm', '', true),
						'forum_password_unset'	=> request_var('forum_password_unset', false),
					);

					// Use link_display_on_index setting if forum type is link
					if ($forum_data['forum_type'] == FORUM_LINK)
					{
						$forum_data['display_on_index'] = request_var('link_display_on_index', false);

						// Linked forums are not able to be locked...
						$forum_data['forum_status'] = ITEM_UNLOCKED;
					}

					$forum_data['show_active'] = ($forum_data['forum_type'] == FORUM_POST) ? request_var('display_recent', false) : request_var('display_active', false);

					// Get data for forum rules if specified...
					if ($forum_data['forum_rules'])
					{
						generate_text_for_storage($forum_data['forum_rules'], $forum_data['forum_rules_uid'], $forum_data['forum_rules_bitfield'], $forum_data['forum_rules_options'], request_var('rules_parse_bbcode', false), request_var('rules_parse_urls', false), request_var('rules_parse_smilies', false));
					}

					// Get data for forum description if specified
					if ($forum_data['forum_desc'])
					{
						generate_text_for_storage($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options'], request_var('desc_parse_bbcode', false), request_var('desc_parse_urls', false), request_var('desc_parse_smilies', false));
					}

					$errors = $this->update_forum_data($forum_data);

					if (!sizeof($errors))
					{
						$forum_perm_from = request_var('forum_perm_from', 0);

						// Copy permissions?
						if ($forum_perm_from && !empty($forum_perm_from) && $forum_perm_from != $forum_data['forum_id'] &&
							(($action != 'edit') || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))))
						{
							// if we edit a forum delete current permissions first
							if ($action == 'edit')
							{
								$sql = 'DELETE FROM ' . ACL_USERS_TABLE . '
									WHERE forum_id = ' . (int) $forum_data['forum_id'];
								$db->sql_query($sql);
	
								$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . '
									WHERE forum_id = ' . (int) $forum_data['forum_id'];
								$db->sql_query($sql);
							}

							// From the mysql documentation:
							// Prior to MySQL 4.0.14, the target table of the INSERT statement cannot appear in the FROM clause of the SELECT part of the query. This limitation is lifted in 4.0.14.
							// Due to this we stay on the safe side if we do the insertion "the manual way"

							// Copy permisisons from/to the acl users table (only forum_id gets changed)
							$sql = 'SELECT user_id, auth_option_id, auth_role_id, auth_setting
								FROM ' . ACL_USERS_TABLE . '
								WHERE forum_id = ' . $forum_perm_from;
							$result = $db->sql_query($sql);

							$users_sql_ary = array();
							while ($row = $db->sql_fetchrow($result))
							{
								$users_sql_ary[] = array(
									'user_id'			=> (int) $row['user_id'],
									'forum_id'			=> (int) $forum_data['forum_id'],
									'auth_option_id'	=> (int) $row['auth_option_id'],
									'auth_role_id'		=> (int) $row['auth_role_id'],
									'auth_setting'		=> (int) $row['auth_setting']
								);
							}
							$db->sql_freeresult($result);

							// Copy permisisons from/to the acl groups table (only forum_id gets changed)
							$sql = 'SELECT group_id, auth_option_id, auth_role_id, auth_setting
								FROM ' . ACL_GROUPS_TABLE . '
								WHERE forum_id = ' . $forum_perm_from;
							$result = $db->sql_query($sql);

							$groups_sql_ary = array();
							while ($row = $db->sql_fetchrow($result))
							{
								$groups_sql_ary[] = array(
									'group_id'			=> (int) $row['group_id'],
									'forum_id'			=> (int) $forum_data['forum_id'],
									'auth_option_id'	=> (int) $row['auth_option_id'],
									'auth_role_id'		=> (int) $row['auth_role_id'],
									'auth_setting'		=> (int) $row['auth_setting']
								);
							}
							$db->sql_freeresult($result);

							// Now insert the data
							$db->sql_multi_insert(ACL_USERS_TABLE, $users_sql_ary);
							$db->sql_multi_insert(ACL_GROUPS_TABLE, $groups_sql_ary);
							cache_moderators();
						}

						$auth->acl_clear_prefetch();
						$cache->destroy('sql', FORUMS_TABLE);
	
						$acl_url = '&amp;mode=setting_forum_local&amp;forum_id[]=' . $forum_data['forum_id'];

						$message = ($action == 'add') ? $user->lang['FORUM_CREATED'] : $user->lang['FORUM_UPDATED'];

						// Redirect to permissions
						if ($auth->acl_get('a_fauth'))
						{
							$message .= '<br /><br />' . sprintf($user->lang['REDIRECT_ACL'], '<a href="' . append_sid(PHPBB_ADMIN_PATH . 'index.' . PHP_EXT, 'i=permissions' . $acl_url) . '">', '</a>');
						}

						// redirect directly to permission settings screen if authed
						if ($action == 'add' && !$forum_perm_from && $auth->acl_get('a_fauth'))
						{
							meta_refresh(4, append_sid(PHPBB_ADMIN_PATH . 'index.' . PHP_EXT, 'i=permissions' . $acl_url));
						}

						trigger_error($message . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id));
					}

				break;
			}
		}

		switch ($action)
		{
			case 'move_up':
			case 'move_down':

				if (!$forum_id)
				{
					trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

				$sql = 'SELECT *
					FROM ' . FORUMS_TABLE . "
					WHERE forum_id = $forum_id";
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				if (!$row)
				{
					trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

				$move_forum_name = $this->move_forum_by($row, $action, 1);

				if ($move_forum_name !== false)
				{
					add_log('admin', 'LOG_FORUM_' . strtoupper($action), $row['forum_name'], $move_forum_name);
					$cache->destroy('sql', FORUMS_TABLE);
				}

			break;

			case 'sync':
				if (!$forum_id)
				{
					trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

				@set_time_limit(0);

				$sql = 'SELECT forum_name, forum_topics_real
					FROM ' . FORUMS_TABLE . "
					WHERE forum_id = $forum_id";
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				if (!$row)
				{
					trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

				if ($row['forum_topics_real'])
				{
					$sql = 'SELECT MIN(topic_id) as min_topic_id, MAX(topic_id) as max_topic_id
						FROM ' . TOPICS_TABLE . '
						WHERE forum_id = ' . $forum_id;
					$result = $db->sql_query($sql);
					$row2 = $db->sql_fetchrow($result);
					$db->sql_freeresult($result);

					// Typecast to int if there is no data available
					$row2['min_topic_id'] = (int) $row2['min_topic_id'];
					$row2['max_topic_id'] = (int) $row2['max_topic_id'];

					$start = request_var('start', $row2['min_topic_id']);

					$batch_size = 2000;
					$end = $start + $batch_size;

					// Sync all topics in batch mode...
					sync('topic_approved', 'range', 'topic_id BETWEEN ' . $start . ' AND ' . $end, true, false);
					sync('topic', 'range', 'topic_id BETWEEN ' . $start . ' AND ' . $end, true, true);

					if ($end < $row2['max_topic_id'])
					{
						// We really need to find a way of showing statistics... no progress here
						$sql = 'SELECT COUNT(topic_id) as num_topics
							FROM ' . TOPICS_TABLE . '
							WHERE forum_id = ' . $forum_id . '
								AND topic_id BETWEEN ' . $start . ' AND ' . $end;
						$result = $db->sql_query($sql);
						$topics_done = request_var('topics_done', 0) + (int) $db->sql_fetchfield('num_topics');
						$db->sql_freeresult($result);

						$start += $batch_size;

						$url = $this->u_action . "&amp;parent_id={$this->parent_id}&amp;f=$forum_id&amp;action=sync&amp;start=$start&amp;topics_done=$topics_done&amp;total={$row['forum_topics_real']}";

						meta_refresh(0, $url);

						$template->assign_vars(array(
							'U_PROGRESS_BAR'		=> $this->u_action . "&amp;action=progress_bar&amp;start=$topics_done&amp;total={$row['forum_topics_real']}",
							'UA_PROGRESS_BAR'		=> addslashes($this->u_action . "&amp;action=progress_bar&amp;start=$topics_done&amp;total={$row['forum_topics_real']}"),
							'S_CONTINUE_SYNC'		=> true,
							'L_PROGRESS_EXPLAIN'	=> sprintf($user->lang['SYNC_IN_PROGRESS_EXPLAIN'], $topics_done, $row['forum_topics_real']))
						);

						return;
					}
				}

				$url = $this->u_action . "&amp;parent_id={$this->parent_id}&amp;f=$forum_id&amp;action=sync_forum";
				meta_refresh(0, $url);

				$template->assign_vars(array(
					'U_PROGRESS_BAR'		=> $this->u_action . '&amp;action=progress_bar',
					'UA_PROGRESS_BAR'		=> addslashes($this->u_action . '&amp;action=progress_bar'),
					'S_CONTINUE_SYNC'		=> true,
					'L_PROGRESS_EXPLAIN'	=> sprintf($user->lang['SYNC_IN_PROGRESS_EXPLAIN'], 0, $row['forum_topics_real']))
				);

				return;

			break;

			case 'sync_forum':

				$sql = 'SELECT forum_name, forum_type
					FROM ' . FORUMS_TABLE . "
					WHERE forum_id = $forum_id";
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				if (!$row)
				{
					trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

				sync('forum', 'forum_id', $forum_id, false, true);

				add_log('admin', 'LOG_FORUM_SYNC', $row['forum_name']);
				$cache->destroy('sql', FORUMS_TABLE);

				$template->assign_var('L_FORUM_RESYNCED', sprintf($user->lang['FORUM_RESYNCED'], $row['forum_name']));

			break;

			case 'add':
			case 'edit':

				if ($update)
				{
					$forum_data['forum_flags'] = 0;
					$forum_data['forum_flags'] += (request_var('forum_link_track', false)) ? FORUM_FLAG_LINK_TRACK : 0;
					$forum_data['forum_flags'] += (request_var('prune_old_polls', false)) ? FORUM_FLAG_PRUNE_POLL : 0;
					$forum_data['forum_flags'] += (request_var('prune_announce', false)) ? FORUM_FLAG_PRUNE_ANNOUNCE : 0;
					$forum_data['forum_flags'] += (request_var('prune_sticky', false)) ? FORUM_FLAG_PRUNE_STICKY : 0;
					$forum_data['forum_flags'] += ($forum_data['show_active']) ? FORUM_FLAG_ACTIVE_TOPICS : 0;
					$forum_data['forum_flags'] += (request_var('enable_post_review', true)) ? FORUM_FLAG_POST_REVIEW : 0;
				}

				// Show form to create/modify a forum
				if ($action == 'edit')
				{
					$this->page_title = 'EDIT_FORUM';
					$row = $this->get_forum_info($forum_id);
					$old_forum_type = $row['forum_type'];

					if (!$update)
					{
						$forum_data = $row;
					}
					else
					{
						$forum_data['left_id'] = $row['left_id'];
						$forum_data['right_id'] = $row['right_id'];
					}

					// Make sure no direct child forums are able to be selected as parents.
					$exclude_forums = array();
					foreach (get_forum_branch($forum_id, 'children') as $row)
					{
						$exclude_forums[] = $row['forum_id'];
					}

					$parents_list = make_forum_select($forum_data['parent_id'], $exclude_forums, false, false, false);

					$forum_data['forum_password_confirm'] = $forum_data['forum_password'];
				}
				else
				{
					$this->page_title = 'CREATE_FORUM';

					$forum_id = $this->parent_id;
					$parents_list = make_forum_select($this->parent_id, false, false, false, false);

					// Fill forum data with default values
					if (!$update)
					{
						$forum_data = array(
							'parent_id'				=> $this->parent_id,
							'forum_type'			=> FORUM_POST,
							'forum_status'			=> ITEM_UNLOCKED,
							'forum_name'			=> utf8_normalize_nfc(request_var('forum_name', '', true)),
							'forum_link'			=> '',
							'forum_link_track'		=> false,
							'forum_desc'			=> '',
							'forum_rules'			=> '',
							'forum_rules_link'		=> '',
							'forum_image'			=> '',
							'forum_style'			=> 0,
							'display_subforum_list'	=> true,
							'display_on_index'		=> false,
							'forum_topics_per_page'	=> 0,
							'enable_indexing'		=> true,
							'enable_icons'			=> false,
							'enable_prune'			=> false,
							'prune_days'			=> 7,
							'prune_viewed'			=> 7,
							'prune_freq'			=> 1,
							'forum_flags'			=> FORUM_FLAG_POST_REVIEW,
							'forum_password'		=> '',
							'forum_password_confirm'=> '',
						);
					}
				}

				$forum_rules_data = array(
					'text'			=> $forum_data['forum_rules'],
					'allow_bbcode'	=> true,
					'allow_smilies'	=> true,
					'allow_urls'	=> true
				);

				$forum_desc_data = array(
					'text'			=> $forum_data['forum_desc'],
					'allow_bbcode'	=> true,
					'allow_smilies'	=> true,
					'allow_urls'	=> true
				);

				$forum_rules_preview = '';

				// Parse rules if specified
				if ($forum_data['forum_rules'])
				{
					if (!isset($forum_data['forum_rules_uid']))
					{
						// Before we are able to display the preview and plane text, we need to parse our request_var()'d value...
						$forum_data['forum_rules_uid'] = '';
						$forum_data['forum_rules_bitfield'] = '';
						$forum_data['forum_rules_options'] = 0;

						generate_text_for_storage($forum_data['forum_rules'], $forum_data['forum_rules_uid'], $forum_data['forum_rules_bitfield'], $forum_data['forum_rules_options'], request_var('rules_allow_bbcode', false), request_var('rules_allow_urls', false), request_var('rules_allow_smilies', false));
					}

					// Generate preview content
					$forum_rules_preview = generate_text_for_display($forum_data['forum_rules'], $forum_data['forum_rules_uid'], $forum_data['forum_rules_bitfield'], $forum_data['forum_rules_options']);

					// decode...
					$forum_rules_data = generate_text_for_edit($forum_data['forum_rules'], $forum_data['forum_rules_uid'], $forum_data['forum_rules_options']);
				}

				// Parse desciption if specified
				if ($forum_data['forum_desc'])
				{
					if (!isset($forum_data['forum_desc_uid']))
					{
						// Before we are able to display the preview and plane text, we need to parse our request_var()'d value...
						$forum_data['forum_desc_uid'] = '';
						$forum_data['forum_desc_bitfield'] = '';
						$forum_data['forum_desc_options'] = 0;

						generate_text_for_storage($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options'], request_var('desc_allow_bbcode', false), request_var('desc_allow_urls', false), request_var('desc_allow_smilies', false));
					}

					// decode...
					$forum_desc_data = generate_text_for_edit($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_options']);
				}

				$forum_type_options = '';
				$forum_type_ary = array(FORUM_CAT => 'CAT', FORUM_POST => 'FORUM', FORUM_LINK => 'LINK');
		
				foreach ($forum_type_ary as $value => $lang)
				{
					$forum_type_options .= '<option value="' . $value . '"' . (($value == $forum_data['forum_type']) ? ' selected="selected"' : '') . '>' . $user->lang['TYPE_' . $lang] . '</option>';
				}

				$styles_list = style_select($forum_data['forum_style'], true);

				$statuslist = '<option value="' . ITEM_UNLOCKED . '"' . (($forum_data['forum_status'] == ITEM_UNLOCKED) ? ' selected="selected"' : '') . '>' . $user->lang['UNLOCKED'] . '</option><option value="' . ITEM_LOCKED . '"' . (($forum_data['forum_status'] == ITEM_LOCKED) ? ' selected="selected"' : '') . '>' . $user->lang['LOCKED'] . '</option>';

				$sql = 'SELECT forum_id
					FROM ' . FORUMS_TABLE . '
					WHERE forum_type = ' . FORUM_POST . "
						AND forum_id <> $forum_id";
				$result = $db->sql_query($sql);

				if ($db->sql_fetchrow($result))
				{
					$template->assign_vars(array(
						'S_MOVE_FORUM_OPTIONS'		=> make_forum_select($forum_data['parent_id'], $forum_id, false, true, false))
					);
				}
				$db->sql_freeresult($result);

				// Subforum move options
				if ($action == 'edit' && $forum_data['forum_type'] == FORUM_CAT)
				{
					$subforums_id = array();
					$subforums = get_forum_branch($forum_id, 'children');

					foreach ($subforums as $row)
					{
						$subforums_id[] = $row['forum_id'];
					}

					$forums_list = make_forum_select($forum_data['parent_id'], $subforums_id);

					$sql = 'SELECT forum_id
						FROM ' . FORUMS_TABLE . '
						WHERE forum_type = ' . FORUM_POST . "
							AND forum_id <> $forum_id";
					$result = $db->sql_query($sql);

					if ($db->sql_fetchrow($result))
					{
						$template->assign_vars(array(
							'S_MOVE_FORUM_OPTIONS'		=> make_forum_select($forum_data['parent_id'], $subforums_id)) // , false, true, false???
						);
					}
					$db->sql_freeresult($result);

					$template->assign_vars(array(
						'S_HAS_SUBFORUMS'		=> ($forum_data['right_id'] - $forum_data['left_id'] > 1) ? true : false,
						'S_FORUMS_LIST'			=> $forums_list)
					);
				}

				$s_show_display_on_index = false;

				if ($forum_data['parent_id'] > 0)
				{
					// if this forum is a subforum put the "display on index" checkbox
					if ($parent_info = $this->get_forum_info($forum_data['parent_id']))
					{
						if ($parent_info['parent_id'] > 0 || $parent_info['forum_type'] == FORUM_CAT)
						{
							$s_show_display_on_index = true;
						}
					}
				}
				
				if (strlen($forum_data['forum_password']) == 32)
				{
					$errors[] = $user->lang['FORUM_PASSWORD_OLD'];
				}

				$template->assign_vars(array(
					'S_EDIT_FORUM'		=> true,
					'S_ERROR'			=> (sizeof($errors)) ? true : false,
					'S_PARENT_ID'		=> $this->parent_id,
					'S_FORUM_PARENT_ID'	=> $forum_data['parent_id'],
					'S_ADD_ACTION'		=> ($action == 'add') ? true : false,

					'U_BACK'		=> $this->u_action . '&amp;parent_id=' . $this->parent_id,
					'U_EDIT_ACTION'	=> $this->u_action . "&amp;parent_id={$this->parent_id}&amp;action=$action&amp;f=$forum_id",

					'L_COPY_PERMISSIONS_EXPLAIN'	=> $user->lang['COPY_PERMISSIONS_' . strtoupper($action) . '_EXPLAIN'],
					'L_TITLE'						=> $user->lang[$this->page_title],
					'ERROR_MSG'						=> (sizeof($errors)) ? implode('<br />', $errors) : '',

					'FORUM_NAME'				=> $forum_data['forum_name'],
					'FORUM_DATA_LINK'			=> $forum_data['forum_link'],
					'FORUM_IMAGE'				=> $forum_data['forum_image'],
					'FORUM_IMAGE_SRC'			=> ($forum_data['forum_image']) ? PHPBB_ROOT_PATH . $forum_data['forum_image'] : '',
					'FORUM_POST'				=> FORUM_POST,
					'FORUM_LINK'				=> FORUM_LINK,
					'FORUM_CAT'					=> FORUM_CAT,
					'PRUNE_FREQ'				=> $forum_data['prune_freq'],
					'PRUNE_DAYS'				=> $forum_data['prune_days'],
					'PRUNE_VIEWED'				=> $forum_data['prune_viewed'],
					'TOPICS_PER_PAGE'			=> $forum_data['forum_topics_per_page'],
					'FORUM_RULES_LINK'			=> $forum_data['forum_rules_link'],
					'FORUM_RULES'				=> $forum_data['forum_rules'],
					'FORUM_RULES_PREVIEW'		=> $forum_rules_preview,
					'FORUM_RULES_PLAIN'			=> $forum_rules_data['text'],
					'S_BBCODE_CHECKED'			=> ($forum_rules_data['allow_bbcode']) ? true : false,
					'S_SMILIES_CHECKED'			=> ($forum_rules_data['allow_smilies']) ? true : false,
					'S_URLS_CHECKED'			=> ($forum_rules_data['allow_urls']) ? true : false,
					'S_FORUM_PASSWORD_SET'		=> (empty($forum_data['forum_password'])) ? false : true,

					'FORUM_DESC'				=> $forum_desc_data['text'],
					'S_DESC_BBCODE_CHECKED'		=> ($forum_desc_data['allow_bbcode']) ? true : false,
					'S_DESC_SMILIES_CHECKED'	=> ($forum_desc_data['allow_smilies']) ? true : false,
					'S_DESC_URLS_CHECKED'		=> ($forum_desc_data['allow_urls']) ? true : false,

					'S_FORUM_TYPE_OPTIONS'		=> $forum_type_options,
					'S_STATUS_OPTIONS'			=> $statuslist,
					'S_PARENT_OPTIONS'			=> $parents_list,
					'S_STYLES_OPTIONS'			=> $styles_list,
					'S_FORUM_OPTIONS'			=> make_forum_select(($action == 'add') ? $forum_data['parent_id'] : false, ($action == 'edit') ? $forum_data['forum_id'] : false, false, false, false),
					'S_SHOW_DISPLAY_ON_INDEX'	=> $s_show_display_on_index,
					'S_FORUM_POST'				=> ($forum_data['forum_type'] == FORUM_POST) ? true : false,
					'S_FORUM_ORIG_POST'			=> (isset($old_forum_type) && $old_forum_type == FORUM_POST) ? true : false,
					'S_FORUM_ORIG_CAT'			=> (isset($old_forum_type) && $old_forum_type == FORUM_CAT) ? true : false,
					'S_FORUM_ORIG_LINK'			=> (isset($old_forum_type) && $old_forum_type == FORUM_LINK) ? true : false,
					'S_FORUM_LINK'				=> ($forum_data['forum_type'] == FORUM_LINK) ? true : false,
					'S_FORUM_CAT'				=> ($forum_data['forum_type'] == FORUM_CAT) ? true : false,
					'S_ENABLE_INDEXING'			=> ($forum_data['enable_indexing']) ? true : false,
					'S_TOPIC_ICONS'				=> ($forum_data['enable_icons']) ? true : false,
					'S_DISPLAY_SUBFORUM_LIST'	=> ($forum_data['display_subforum_list']) ? true : false,
					'S_DISPLAY_ON_INDEX'		=> ($forum_data['display_on_index']) ? true : false,
					'S_PRUNE_ENABLE'			=> ($forum_data['enable_prune']) ? true : false,
					'S_FORUM_LINK_TRACK'		=> ($forum_data['forum_flags'] & FORUM_FLAG_LINK_TRACK) ? true : false,
					'S_PRUNE_OLD_POLLS'			=> ($forum_data['forum_flags'] & FORUM_FLAG_PRUNE_POLL) ? true : false,
					'S_PRUNE_ANNOUNCE'			=> ($forum_data['forum_flags'] & FORUM_FLAG_PRUNE_ANNOUNCE) ? true : false,
					'S_PRUNE_STICKY'			=> ($forum_data['forum_flags'] & FORUM_FLAG_PRUNE_STICKY) ? true : false,
					'S_DISPLAY_ACTIVE_TOPICS'	=> ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS) ? true : false,
					'S_ENABLE_POST_REVIEW'		=> ($forum_data['forum_flags'] & FORUM_FLAG_POST_REVIEW) ? true : false,
					'S_CAN_COPY_PERMISSIONS'	=> ($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))) ? true : false,
				));

				return;

			break;

			case 'delete':

				if (!$forum_id)
				{
					trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id), E_USER_WARNING);
				}

				$forum_data = $this->get_forum_info($forum_id);

				$subforums_id = array();
				$subforums = get_forum_branch($forum_id, 'children');

				foreach ($subforums as $row)
				{
					$subforums_id[] = $row['forum_id'];
				}

				$forums_list = make_forum_select($forum_data['parent_id'], $subforums_id);

				$sql = 'SELECT forum_id
					FROM ' . FORUMS_TABLE . '
					WHERE forum_type = ' . FORUM_POST . "
						AND forum_id <> $forum_id";
				$result = $db->sql_query($sql);

				if ($db->sql_fetchrow($result))
				{
					$template->assign_vars(array(
						'S_MOVE_FORUM_OPTIONS'		=> make_forum_select($forum_data['parent_id'], $subforums_id, false, true)) // , false, true, false???
					);
				}
				$db->sql_freeresult($result);

				$parent_id = ($this->parent_id == $forum_id) ? 0 : $this->parent_id;

				$template->assign_vars(array(
					'S_DELETE_FORUM'		=> true,
					'U_ACTION'				=> $this->u_action . "&amp;parent_id={$parent_id}&amp;action=delete&amp;f=$forum_id",
					'U_BACK'				=> $this->u_action . '&amp;parent_id=' . $this->parent_id,

					'FORUM_NAME'			=> $forum_data['forum_name'],
					'S_FORUM_POST'			=> ($forum_data['forum_type'] == FORUM_POST) ? true : false,
					'S_FORUM_LINK'			=> ($forum_data['forum_type'] == FORUM_LINK) ? true : false,
					'S_HAS_SUBFORUMS'		=> ($forum_data['right_id'] - $forum_data['left_id'] > 1) ? true : false,
					'S_FORUMS_LIST'			=> $forums_list,
					'S_ERROR'				=> (sizeof($errors)) ? true : false,
					'ERROR_MSG'				=> (sizeof($errors)) ? implode('<br />', $errors) : '')
				);

				return;
			break;
		}

		// Default management page
		if (!$this->parent_id)
		{
			$navigation = $user->lang['FORUM_INDEX'];
		}
		else
		{
			$navigation = '<a href="' . $this->u_action . '">' . $user->lang['FORUM_INDEX'] . '</a>';

			$forums_nav = get_forum_branch($this->parent_id, 'parents', 'descending');
			foreach ($forums_nav as $row)
			{
				if ($row['forum_id'] == $this->parent_id)
				{
					$navigation .= ' -&gt; ' . $row['forum_name'];
				}
				else
				{
					$navigation .= ' -&gt; <a href="' . $this->u_action . '&amp;parent_id=' . $row['forum_id'] . '">' . $row['forum_name'] . '</a>';
				}
			}
		}

		// Jumpbox
		$forum_box = make_forum_select($this->parent_id, false, false, false, false); //make_forum_select($this->parent_id);

		if ($action == 'sync' || $action == 'sync_forum')
		{
			$template->assign_var('S_RESYNCED', true);
		}

		$sql = 'SELECT *
			FROM ' . FORUMS_TABLE . "
			WHERE parent_id = $this->parent_id
			ORDER BY left_id";
		$result = $db->sql_query($sql);

		if ($row = $db->sql_fetchrow($result))
		{
			do
			{
				$forum_type = $row['forum_type'];

				if ($row['forum_status'] == ITEM_LOCKED)
				{
					$folder_image = '<img src="images/icon_folder_lock.gif" alt="' . $user->lang['LOCKED'] . '" />';
				}
				else
				{
					switch ($forum_type)
					{
						case FORUM_LINK:
							$folder_image = '<img src="images/icon_folder_link.gif" alt="' . $user->lang['LINK'] . '" />';
						break;

						default:
							$folder_image = ($row['left_id'] + 1 != $row['right_id']) ? '<img src="images/icon_subfolder.gif" alt="' . $user->lang['SUBFORUM'] . '" />' : '<img src="images/icon_folder.gif" alt="' . $user->lang['FOLDER'] . '" />';
						break;
					}
				}

				$url = $this->u_action . "&amp;parent_id=$this->parent_id&amp;f={$row['forum_id']}";

				$forum_title = ($forum_type != FORUM_LINK) ? '<a href="' . $this->u_action . '&amp;parent_id=' . $row['forum_id'] . '">' : '';
				$forum_title .= $row['forum_name'];
				$forum_title .= ($forum_type != FORUM_LINK) ? '</a>' : '';

				$template->assign_block_vars('forums', array(
					'FOLDER_IMAGE'		=> $folder_image,
					'FORUM_IMAGE'		=> ($row['forum_image']) ? '<img src="' . PHPBB_ROOT_PATH . $row['forum_image'] . '" alt="" />' : '',
					'FORUM_IMAGE_SRC'	=> ($row['forum_image']) ? PHPBB_ROOT_PATH . $row['forum_image'] : '',
					'FORUM_NAME'		=> $row['forum_name'],
					'FORUM_DESCRIPTION'	=> generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),
					'FORUM_TOPICS'		=> $row['forum_topics'],
					'FORUM_POSTS'		=> $row['forum_posts'],

					'S_FORUM_LINK'		=> ($forum_type == FORUM_LINK) ? true : false,
					'S_FORUM_POST'		=> ($forum_type == FORUM_POST) ? true : false,

					'U_FORUM'			=> $this->u_action . '&amp;parent_id=' . $row['forum_id'],
					'U_MOVE_UP'			=> $url . '&amp;action=move_up',
					'U_MOVE_DOWN'		=> $url . '&amp;action=move_down',
					'U_EDIT'			=> $url . '&amp;action=edit',
					'U_DELETE'			=> $url . '&amp;action=delete',
					'U_SYNC'			=> $url . '&amp;action=sync')
				);
			}
			while ($row = $db->sql_fetchrow($result));
		}
		else if ($this->parent_id)
		{
			$row = $this->get_forum_info($this->parent_id);

			$url = $this->u_action . '&amp;parent_id=' . $this->parent_id . '&amp;f=' . $row['forum_id'];

			$template->assign_vars(array(
				'S_NO_FORUMS'		=> true,

				'U_EDIT'			=> $url . '&amp;action=edit',
				'U_DELETE'			=> $url . '&amp;action=delete',
				'U_SYNC'			=> $url . '&amp;action=sync')
			);
		}
		$db->sql_freeresult($result);

		$template->assign_vars(array(
			'ERROR_MSG'		=> (sizeof($errors)) ? implode('<br />', $errors) : '',
			'NAVIGATION'	=> $navigation,
			'FORUM_BOX'		=> $forum_box,
			'U_SEL_ACTION'	=> $this->u_action,
			'U_ACTION'		=> $this->u_action . '&amp;parent_id=' . $this->parent_id,

			'U_PROGRESS_BAR'	=> $this->u_action . '&amp;action=progress_bar',
			'UA_PROGRESS_BAR'	=> addslashes($this->u_action . '&amp;action=progress_bar'),
		));
	}

	/**
	* Get forum details
	*/
	function get_forum_info($forum_id)
	{
		global $db;

		$sql = 'SELECT *
			FROM ' . FORUMS_TABLE . "
			WHERE forum_id = $forum_id";
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		if (!$row)
		{
			trigger_error("Forum #$forum_id does not exist", E_USER_ERROR);
		}

		return $row;
	}

	/**
	* Update forum data
	*/
	function update_forum_data(&$forum_data)
	{
		global $db, $user, $cache;

		$errors = array();

		if (!$forum_data['forum_name'])
		{
			$errors[] = $user->lang['FORUM_NAME_EMPTY'];
		}

		if (utf8_strlen($forum_data['forum_desc']) > 4000)
		{
			$errors[] = $user->lang['FORUM_DESC_TOO_LONG'];
		}

		if (utf8_strlen($forum_data['forum_rules']) > 4000)
		{
			$errors[] = $user->lang['FORUM_RULES_TOO_LONG'];
		}

		if ($forum_data['forum_password'] || $forum_data['forum_password_confirm'])
		{
			if ($forum_data['forum_password'] != $forum_data['forum_password_confirm'])
			{
				$forum_data['forum_password'] = $forum_data['forum_password_confirm'] = '';
				$errors[] = $user->lang['FORUM_PASSWORD_MISMATCH'];
			}
		}

		if ($forum_data['prune_days'] < 0 || $forum_data['prune_viewed'] < 0 || $forum_data['prune_freq'] < 0)
		{
			$forum_data['prune_days'] = $forum_data['prune_viewed'] = $forum_data['prune_freq'] = 0;
			$errors[] = $user->lang['FORUM_DATA_NEGATIVE'];
		}
		
		$range_test_ary = array(
			array('lang' => 'FORUM_TOPICS_PAGE', 'value' => $forum_data['forum_topics_per_page'], 'column_type' => 'TINT:0'),
		);
		validate_range($range_test_ary, $errors);



		// Set forum flags
		// 1 = link tracking
		// 2 = prune old polls
		// 4 = prune announcements
		// 8 = prune stickies
		// 16 = show active topics
		// 32 = enable post review
		$forum_data['forum_flags'] = 0;
		$forum_data['forum_flags'] += ($forum_data['forum_link_track']) ? FORUM_FLAG_LINK_TRACK : 0;
		$forum_data['forum_flags'] += ($forum_data['prune_old_polls']) ? FORUM_FLAG_PRUNE_POLL : 0;
		$forum_data['forum_flags'] += ($forum_data['prune_announce']) ? FORUM_FLAG_PRUNE_ANNOUNCE : 0;
		$forum_data['forum_flags'] += ($forum_data['prune_sticky']) ? FORUM_FLAG_PRUNE_STICKY : 0;
		$forum_data['forum_flags'] += ($forum_data['show_active']) ? FORUM_FLAG_ACTIVE_TOPICS : 0;
		$forum_data['forum_flags'] += ($forum_data['enable_post_review']) ? FORUM_FLAG_POST_REVIEW : 0;

		// Unset data that are not database fields
		$forum_data_sql = $forum_data;

		unset($forum_data_sql['forum_link_track']);
		unset($forum_data_sql['prune_old_polls']);
		unset($forum_data_sql['prune_announce']);
		unset($forum_data_sql['prune_sticky']);
		unset($forum_data_sql['show_active']);
		unset($forum_data_sql['enable_post_review']);
		unset($forum_data_sql['forum_password_confirm']);

		// What are we going to do tonight Brain? The same thing we do everynight,
		// try to take over the world ... or decide whether to continue update
		// and if so, whether it's a new forum/cat/link or an existing one
		if (sizeof($errors))
		{
			return $errors;
		}

		// As we don't know the old password, it's kinda tricky to detect changes
		if ($forum_data_sql['forum_password_unset'])
		{
			$forum_data_sql['forum_password'] = '';
		}
		else if (empty($forum_data_sql['forum_password']))
		{
			unset($forum_data_sql['forum_password']);
		}
		else
		{
			$forum_data_sql['forum_password'] = phpbb_hash($forum_data_sql['forum_password']);
		}
		unset($forum_data_sql['forum_password_unset']);
		
		if (!isset($forum_data_sql['forum_id']))
		{
			// no forum_id means we're creating a new forum
			unset($forum_data_sql['type_action']);

			if ($forum_data_sql['parent_id'])
			{
				$sql = 'SELECT left_id, right_id, forum_type
					FROM ' . FORUMS_TABLE . '
					WHERE forum_id = ' . $forum_data_sql['parent_id'];
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				if (!$row)
				{
					trigger_error($user->lang['PARENT_NOT_EXIST'] . adm_back_link($this->u_action . '&amp;' . $this->parent_id), E_USER_WARNING);
				}

				if ($row['forum_type'] == FORUM_LINK)
				{
					$errors[] = $user->lang['PARENT_IS_LINK_FORUM'];
					return $errors;
				}

				$sql = 'UPDATE ' . FORUMS_TABLE . '
					SET left_id = left_id + 2, right_id = right_id + 2
					WHERE left_id > ' . $row['right_id'];
				$db->sql_query($sql);

				$sql = 'UPDATE ' . FORUMS_TABLE . '
					SET right_id = right_id + 2
					WHERE ' . $row['left_id'] . ' BETWEEN left_id AND right_id';
				$db->sql_query($sql);

				$forum_data_sql['left_id'] = $row['right_id'];
				$forum_data_sql['right_id'] = $row['right_id'] + 1;
			}
			else
			{
				$sql = 'SELECT MAX(right_id) AS right_id
					FROM ' . FORUMS_TABLE;
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				$forum_data_sql['left_id'] = $row['right_id'] + 1;
				$forum_data_sql['right_id'] = $row['right_id'] + 2;
			}

			$sql = 'INSERT INTO ' . FORUMS_TABLE . ' ' . $db->sql_build_array('INSERT', $forum_data_sql);
			$db->sql_query($sql);

			$forum_data['forum_id'] = $db->sql_nextid();

			add_log('admin', 'LOG_FORUM_ADD', $forum_data['forum_name']);
		}
		else
		{
			$row = $this->get_forum_info($forum_data_sql['forum_id']);

			if ($row['forum_type'] == FORUM_POST && $row['forum_type'] != $forum_data_sql['forum_type'])
			{
				// Has subforums and want to change into a link?
				if ($row['right_id'] - $row['left_id'] > 1 && $forum_data_sql['forum_type'] == FORUM_LINK)
				{
					$errors[] = $user->lang['FORUM_WITH_SUBFORUMS_NOT_TO_LINK'];
					return $errors;
				}

				// we're turning a postable forum into a non-postable forum
				if ($forum_data_sql['type_action'] == 'move')
				{
					$to_forum_id = request_var('to_forum_id', 0);

					if ($to_forum_id)
					{
						$errors = $this->move_forum_content($forum_data_sql['forum_id'], $to_forum_id);
					}
					else
					{
						return array($user->lang['NO_DESTINATION_FORUM']);
					}
				}
				else if ($forum_data_sql['type_action'] == 'delete')
				{
					$errors = $this->delete_forum_content($forum_data_sql['forum_id']);
				}
				else
				{
					return array($user->lang['NO_FORUM_ACTION']);
				}

				$forum_data_sql['forum_posts'] = $forum_data_sql['forum_topics'] = $forum_data_sql['forum_topics_real'] = $forum_data_sql['forum_last_post_id'] = $forum_data_sql['forum_last_poster_id'] = $forum_data_sql['forum_last_post_time'] = 0;
				$forum_data_sql['forum_last_poster_name'] = $forum_data_sql['forum_last_poster_colour'] = '';
			}
			else if ($row['forum_type'] == FORUM_CAT && $forum_data_sql['forum_type'] == FORUM_LINK)
			{
				// Has subforums?
				if ($row['right_id'] - $row['left_id'] > 1)
				{
					// We are turning a category into a link - but need to decide what to do with the subforums.
					$action_subforums = request_var('action_subforums', '');
					$subforums_to_id = request_var('subforums_to_id', 0);

					if ($action_subforums == 'delete')
					{
						$rows = get_forum_branch($row['forum_id'], 'children', 'descending', false);

						foreach ($rows as $_row)
						{
							// Do not remove the forum id we are about to change. ;)
							if ($_row['forum_id'] == $row['forum_id'])
							{
								continue;
							}

							$forum_ids[] = $_row['forum_id'];
							$errors = array_merge($errors, $this->delete_forum_content($_row['forum_id']));
						}

						if (sizeof($errors))
						{
							return $errors;
						}

						if (sizeof($forum_ids))
						{
							$sql = 'DELETE FROM ' . FORUMS_TABLE . '
								WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
							$db->sql_query($sql);

							$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . '
								WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
							$db->sql_query($sql);

							$sql = 'DELETE FROM ' . ACL_USERS_TABLE . '
								WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
							$db->sql_query($sql);

							// Delete forum ids from extension groups table
							$sql = 'SELECT group_id, allowed_forums
								FROM ' . EXTENSION_GROUPS_TABLE;
							$result = $db->sql_query($sql);

							while ($_row = $db->sql_fetchrow($result))
							{
								if (!$_row['allowed_forums'])
								{
									continue;
								}

								$allowed_forums = unserialize(trim($_row['allowed_forums']));
								$allowed_forums = array_diff($allowed_forums, $forum_ids);

								$sql = 'UPDATE ' . EXTENSION_GROUPS_TABLE . "
									SET allowed_forums = '" . ((sizeof($allowed_forums)) ? serialize($allowed_forums) : '') . "'
									WHERE group_id = {$_row['group_id']}";
								$db->sql_query($sql);
							}
							$db->sql_freeresult($result);

							$cache->destroy('_extensions');
						}
					}
					else if ($action_subforums == 'move')
					{
						if (!$subforums_to_id)
						{
							return array($user->lang['NO_DESTINATION_FORUM']);
						}

						$sql = 'SELECT forum_name
							FROM ' . FORUMS_TABLE . '
							WHERE forum_id = ' . $subforums_to_id;
						$result = $db->sql_query($sql);
						$_row = $db->sql_fetchrow($result);
						$db->sql_freeresult($result);

						if (!$_row)
						{
							return array($user->lang['NO_FORUM']);
						}

						$subforums_to_name = $_row['forum_name'];

						$sql = 'SELECT forum_id
							FROM ' . FORUMS_TABLE . "
							WHERE parent_id = {$row['forum_id']}";
						$result = $db->sql_query($sql);

						while ($_row = $db->sql_fetchrow($result))
						{
							$this->move_forum($_row['forum_id'], $subforums_to_id);
						}
						$db->sql_freeresult($result);

						$sql = 'UPDATE ' . FORUMS_TABLE . "
							SET parent_id = $subforums_to_id
							WHERE parent_id = {$row['forum_id']}";
						$db->sql_query($sql);
					}

					// Adjust the left/right id
					$sql = 'UPDATE ' . FORUMS_TABLE . '
						SET right_id = left_id + 1
						WHERE forum_id = ' . $row['forum_id'];
					$db->sql_query($sql);
				}
			}
			else if ($row['forum_type'] == FORUM_CAT && $forum_data_sql['forum_type'] == FORUM_POST)
			{
				// Changing a category to a forum? Reset the data (you can't post directly in a cat, you must use a forum)
				$forum_data_sql['forum_posts'] = 0;
				$forum_data_sql['forum_topics'] = 0;
				$forum_data_sql['forum_topics_real'] = 0;
				$forum_data_sql['forum_last_post_id'] = 0;
				$forum_data_sql['forum_last_post_subject'] = '';
				$forum_data_sql['forum_last_post_time'] = 0;
				$forum_data_sql['forum_last_poster_id'] = 0;
				$forum_data_sql['forum_last_poster_name'] = '';
				$forum_data_sql['forum_last_poster_colour'] = '';
			}

			if (sizeof($errors))
			{
				return $errors;
			}

			if ($row['parent_id'] != $forum_data_sql['parent_id'])
			{
				$errors = $this->move_forum($forum_data_sql['forum_id'], $forum_data_sql['parent_id']);
			}

			if (sizeof($errors))
			{
				return $errors;
			}

			unset($forum_data_sql['type_action']);

			if ($row['forum_name'] != $forum_data_sql['forum_name'])
			{
				// the forum name has changed, clear the parents list of all forums (for safety)
				$sql = 'UPDATE ' . FORUMS_TABLE . "
					SET forum_parents = ''";
				$db->sql_query($sql);
			}

			// Setting the forum id to the forum id is not really received well by some dbs. ;)
			$forum_id = $forum_data_sql['forum_id'];
			unset($forum_data_sql['forum_id']);

			$sql = 'UPDATE ' . FORUMS_TABLE . '
				SET ' . $db->sql_build_array('UPDATE', $forum_data_sql) . '
				WHERE forum_id = ' . $forum_id;
			$db->sql_query($sql);

			// Add it back
			$forum_data['forum_id'] = $forum_id;

			add_log('admin', 'LOG_FORUM_EDIT', $forum_data['forum_name']);
		}

		return $errors;
	}

	/**
	* Move forum
	*/
	function move_forum($from_id, $to_id)
	{
		global $db, $user;

		$to_data = $moved_ids = $errors = array();

		// Check if we want to move to a parent with link type
		if ($to_id > 0)
		{
			$to_data = $this->get_forum_info($to_id);

			if ($to_data['forum_type'] == FORUM_LINK)
			{
				$errors[] = $user->lang['PARENT_IS_LINK_FORUM'];
				return $errors;
			}
		}

		$moved_forums = get_forum_branch($from_id, 'children', 'descending');
		$from_data = $moved_forums[0];
		$diff = sizeof($moved_forums) * 2;

		$moved_ids = array();
		for ($i = 0; $i < sizeof($moved_forums); ++$i)
		{
			$moved_ids[] = $moved_forums[$i]['forum_id'];
		}

		// Resync parents
		$sql = 'UPDATE ' . FORUMS_TABLE . "
			SET right_id = right_id - $diff, forum_parents = ''
			WHERE left_id < " . $from_data['right_id'] . "
				AND right_id > " . $from_data['right_id'];
		$db->sql_query($sql);

		// Resync righthand side of tree
		$sql = 'UPDATE ' . FORUMS_TABLE . "
			SET left_id = left_id - $diff, right_id = right_id - $diff, forum_parents = ''
			WHERE left_id > " . $from_data['right_id'];
		$db->sql_query($sql);

		if ($to_id > 0)
		{
			// Retrieve $to_data again, it may have been changed...
			$to_data = $this->get_forum_info($to_id);

			// Resync new parents
			$sql = 'UPDATE ' . FORUMS_TABLE . "
				SET right_id = right_id + $diff, forum_parents = ''
				WHERE " . $to_data['right_id'] . ' BETWEEN left_id AND right_id
					AND ' . $db->sql_in_set('forum_id', $moved_ids, true);
			$db->sql_query($sql);

			// Resync the righthand side of the tree
			$sql = 'UPDATE ' . FORUMS_TABLE . "
				SET left_id = left_id + $diff, right_id = right_id + $diff, forum_parents = ''
				WHERE left_id > " . $to_data['right_id'] . '
					AND ' . $db->sql_in_set('forum_id', $moved_ids, true);
			$db->sql_query($sql);

			// Resync moved branch
			$to_data['right_id'] += $diff;

			if ($to_data['right_id'] > $from_data['right_id'])
			{
				$diff = '+ ' . ($to_data['right_id'] - $from_data['right_id'] - 1);
			}
			else
			{
				$diff = '- ' . abs($to_data['right_id'] - $from_data['right_id'] - 1);
			}
		}
		else
		{
			$sql = 'SELECT MAX(right_id) AS right_id
				FROM ' . FORUMS_TABLE . '
				WHERE ' . $db->sql_in_set('forum_id', $moved_ids, true);
			$result = $db->sql_query($sql);
			$row = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);

			$diff = '+ ' . ($row['right_id'] - $from_data['left_id'] + 1);
		}

		$sql = 'UPDATE ' . FORUMS_TABLE . "
			SET left_id = left_id $diff, right_id = right_id $diff, forum_parents = ''
			WHERE " . $db->sql_in_set('forum_id', $moved_ids);
		$db->sql_query($sql);

		return $errors;
	}

	/**
	* Move forum content from one to another forum
	*/
	function move_forum_content($from_id, $to_id, $sync = true)
	{
		global $db;

		$table_ary = array(LOG_TABLE, POSTS_TABLE, TOPICS_TABLE, DRAFTS_TABLE, TOPICS_TRACK_TABLE);

		foreach ($table_ary as $table)
		{
			$sql = "UPDATE $table
				SET forum_id = $to_id
				WHERE forum_id = $from_id";
			$db->sql_query($sql);
		}
		unset($table_ary);

		$table_ary = array(FORUMS_ACCESS_TABLE, FORUMS_TRACK_TABLE, FORUMS_WATCH_TABLE, MODERATOR_CACHE_TABLE);

		foreach ($table_ary as $table)
		{
			$sql = "DELETE FROM $table
				WHERE forum_id = $from_id";
			$db->sql_query($sql);
		}

		if ($sync)
		{
			// Delete ghost topics that link back to the same forum then resync counters
			sync('topic_moved');
			sync('forum', 'forum_id', $to_id, false, true);
		}

		return array();
	}

	/**
	* Remove complete forum
	*/
	function delete_forum($forum_id, $action_posts = 'delete', $action_subforums = 'delete', $posts_to_id = 0, $subforums_to_id = 0)
	{
		global $db, $user, $cache;

		$forum_data = $this->get_forum_info($forum_id);

		$errors = array();
		$log_action_posts = $log_action_forums = $posts_to_name = $subforums_to_name = '';
		$forum_ids = array($forum_id);

		if ($action_posts == 'delete')
		{
			$log_action_posts = 'POSTS';
			$errors = array_merge($errors, $this->delete_forum_content($forum_id));
		}
		else if ($action_posts == 'move')
		{
			if (!$posts_to_id)
			{
				$errors[] = $user->lang['NO_DESTINATION_FORUM'];
			}
			else
			{
				$log_action_posts = 'MOVE_POSTS';

				$sql = 'SELECT forum_name
					FROM ' . FORUMS_TABLE . '
					WHERE forum_id = ' . $posts_to_id;
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				if (!$row)
				{
					$errors[] = $user->lang['NO_FORUM'];
				}
				else
				{
					$posts_to_name = $row['forum_name'];
					$errors = array_merge($errors, $this->move_forum_content($forum_id, $posts_to_id));
				}
			}
		}

		if (sizeof($errors))
		{
			return $errors;
		}

		if ($action_subforums == 'delete')
		{
			$log_action_forums = 'FORUMS';
			$rows = get_forum_branch($forum_id, 'children', 'descending', false);

			foreach ($rows as $row)
			{
				$forum_ids[] = $row['forum_id'];
				$errors = array_merge($errors, $this->delete_forum_content($row['forum_id']));
			}

			if (sizeof($errors))
			{
				return $errors;
			}

			$diff = sizeof($forum_ids) * 2;

			$sql = 'DELETE FROM ' . FORUMS_TABLE . '
				WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
			$db->sql_query($sql);

			$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . '
				WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
			$db->sql_query($sql);

			$sql = 'DELETE FROM ' . ACL_USERS_TABLE . '
				WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
			$db->sql_query($sql);
		}
		else if ($action_subforums == 'move')
		{
			if (!$subforums_to_id)
			{
				$errors[] = $user->lang['NO_DESTINATION_FORUM'];
			}
			else
			{
				$log_action_forums = 'MOVE_FORUMS';

				$sql = 'SELECT forum_name
					FROM ' . FORUMS_TABLE . '
					WHERE forum_id = ' . $subforums_to_id;
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);

				if (!$row)
				{
					$errors[] = $user->lang['NO_FORUM'];
				}
				else
				{
					$subforums_to_name = $row['forum_name'];

					$sql = 'SELECT forum_id
						FROM ' . FORUMS_TABLE . "
						WHERE parent_id = $forum_id";
					$result = $db->sql_query($sql);

					while ($row = $db->sql_fetchrow($result))
					{
						$this->move_forum($row['forum_id'], $subforums_to_id);
					}
					$db->sql_freeresult($result);

					// Grab new forum data for correct tree updating later
					$forum_data = $this->get_forum_info($forum_id);

					$sql = 'UPDATE ' . FORUMS_TABLE . "
						SET parent_id = $subforums_to_id
						WHERE parent_id = $forum_id";
					$db->sql_query($sql);

					$diff = 2;
					$sql = 'DELETE FROM ' . FORUMS_TABLE . "
						WHERE forum_id = $forum_id";
					$db->sql_query($sql);

					$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . "
						WHERE forum_id = $forum_id";
					$db->sql_query($sql);

					$sql = 'DELETE FROM ' . ACL_USERS_TABLE . "
						WHERE forum_id = $forum_id";
					$db->sql_query($sql);
				}
			}

			if (sizeof($errors))
			{
				return $errors;
			}
		}
		else
		{
			$diff = 2;
			$sql = 'DELETE FROM ' . FORUMS_TABLE . "
				WHERE forum_id = $forum_id";
			$db->sql_query($sql);

			$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . "
				WHERE forum_id = $forum_id";
			$db->sql_query($sql);

			$sql = 'DELETE FROM ' . ACL_USERS_TABLE . "
				WHERE forum_id = $forum_id";
			$db->sql_query($sql);
		}

		// Resync tree
		$sql = 'UPDATE ' . FORUMS_TABLE . "
			SET right_id = right_id - $diff
			WHERE left_id < {$forum_data['right_id']} AND right_id > {$forum_data['right_id']}";
		$db->sql_query($sql);

		$sql = 'UPDATE ' . FORUMS_TABLE . "
			SET left_id = left_id - $diff, right_id = right_id - $diff
			WHERE left_id > {$forum_data['right_id']}";
		$db->sql_query($sql);

		// Delete forum ids from extension groups table
		$sql = 'SELECT group_id, allowed_forums
			FROM ' . EXTENSION_GROUPS_TABLE;
		$result = $db->sql_query($sql);

		while ($row = $db->sql_fetchrow($result))
		{
			if (!$row['allowed_forums'])
			{
				continue;
			}

			$allowed_forums = unserialize(trim($row['allowed_forums']));
			$allowed_forums = array_diff($allowed_forums, $forum_ids);

			$sql = 'UPDATE ' . EXTENSION_GROUPS_TABLE . "
				SET allowed_forums = '" . ((sizeof($allowed_forums)) ? serialize($allowed_forums) : '') . "'
				WHERE group_id = {$row['group_id']}";
			$db->sql_query($sql);
		}
		$db->sql_freeresult($result);

		$cache->destroy('_extensions');

		$log_action = implode('_', array($log_action_posts, $log_action_forums));

		switch ($log_action)
		{
			case 'MOVE_POSTS_MOVE_FORUMS':
				add_log('admin', 'LOG_FORUM_DEL_MOVE_POSTS_MOVE_FORUMS', $posts_to_name, $subforums_to_name, $forum_data['forum_name']);
			break;

			case 'MOVE_POSTS_FORUMS':
				add_log('admin', 'LOG_FORUM_DEL_MOVE_POSTS_FORUMS', $posts_to_name, $forum_data['forum_name']);
			break;

			case 'POSTS_MOVE_FORUMS':
				add_log('admin', 'LOG_FORUM_DEL_POSTS_MOVE_FORUMS', $subforums_to_name, $forum_data['forum_name']);
			break;

			case '_MOVE_FORUMS':
				add_log('admin', 'LOG_FORUM_DEL_MOVE_FORUMS', $subforums_to_name, $forum_data['forum_name']);
			break;

			case 'MOVE_POSTS_':
				add_log('admin', 'LOG_FORUM_DEL_MOVE_POSTS', $posts_to_name, $forum_data['forum_name']);
			break;

			case 'POSTS_FORUMS':
				add_log('admin', 'LOG_FORUM_DEL_POSTS_FORUMS', $forum_data['forum_name']);
			break;

			case '_FORUMS':
				add_log('admin', 'LOG_FORUM_DEL_FORUMS', $forum_data['forum_name']);
			break;

			case 'POSTS_':
				add_log('admin', 'LOG_FORUM_DEL_POSTS', $forum_data['forum_name']);
			break;

			default:
				add_log('admin', 'LOG_FORUM_DEL_FORUM', $forum_data['forum_name']);
			break;
		}

		return $errors;
	}

	/**
	* Delete forum content
	*/
	function delete_forum_content($forum_id)
	{
		global $db, $config;

		include_once(PHPBB_ROOT_PATH . 'includes/functions_posting.' . PHP_EXT);

		$db->sql_transaction('begin');

		// Select then delete all attachments
		$sql = 'SELECT a.topic_id
			FROM ' . POSTS_TABLE . ' p, ' . ATTACHMENTS_TABLE . " a
			WHERE p.forum_id = $forum_id
				AND a.in_message = 0
				AND a.topic_id = p.topic_id";
		$result = $db->sql_query($sql);	

		$topic_ids = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$topic_ids[] = $row['topic_id'];
		}
		$db->sql_freeresult($result);

		delete_attachments('topic', $topic_ids, false);

		// Before we remove anything we make sure we are able to adjust the post counts later. ;)
		$sql = 'SELECT poster_id
			FROM ' . POSTS_TABLE . '
			WHERE forum_id = ' . $forum_id . '
				AND post_postcount = 1';
		$result = $db->sql_query($sql);

		$post_counts = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$post_counts[$row['poster_id']] = (!empty($post_counts[$row['poster_id']])) ? $post_counts[$row['poster_id']] + 1 : 1;
		}
		$db->sql_freeresult($result);

		switch ($db->dbms_type)
		{
			case 'mysql':

				// Delete everything else and thank MySQL for offering multi-table deletion
				$tables_ary = array(
					SEARCH_WORDMATCH_TABLE	=> 'post_id',
					REPORTS_TABLE			=> 'post_id',
					WARNINGS_TABLE			=> 'post_id',
					BOOKMARKS_TABLE			=> 'topic_id',
					TOPICS_WATCH_TABLE		=> 'topic_id',
					TOPICS_POSTED_TABLE		=> 'topic_id',
					POLL_OPTIONS_TABLE		=> 'topic_id',
					POLL_VOTES_TABLE		=> 'topic_id',
				);

				$sql = 'DELETE ' . POSTS_TABLE;
				$sql_using = "\nFROM " . POSTS_TABLE;
				$sql_where = "\nWHERE " . POSTS_TABLE . ".forum_id = $forum_id\n";

				foreach ($tables_ary as $table => $field)
				{
					$sql .= ", $table ";
					$sql_using .= ", $table ";
					$sql_where .= "\nAND $table.$field = " . POSTS_TABLE . ".$field";
				}

				$db->sql_query($sql . $sql_using . $sql_where);

			break;

			default:
			
				// Delete everything else and curse your DB for not offering multi-table deletion
				$tables_ary = array(
					'post_id'	=>	array(
						SEARCH_WORDMATCH_TABLE,
						REPORTS_TABLE,
						WARNINGS_TABLE,
					),

					'topic_id'	=>	array(
						BOOKMARKS_TABLE,
						TOPICS_WATCH_TABLE,
						TOPICS_POSTED_TABLE,
						POLL_OPTIONS_TABLE,
						POLL_VOTES_TABLE,
					)
				);

				foreach ($tables_ary as $field => $tables)
				{
					$start = 0;

					do
					{
						$sql = "SELECT $field
							FROM " . POSTS_TABLE . '
							WHERE forum_id = ' . $forum_id;
						$result = $db->sql_query_limit($sql, 500, $start);

						$ids = array();
						while ($row = $db->sql_fetchrow($result))
						{
							$ids[] = $row[$field];
						}
						$db->sql_freeresult($result);

						if (sizeof($ids))
						{
							$start += sizeof($ids);

							foreach ($tables as $table)
							{
								$db->sql_query("DELETE FROM $table WHERE " . $db->sql_in_set($field, $ids));
							}
						}
					}
					while ($row);
				}
				unset($ids);

			break;
		}

		$table_ary = array(FORUMS_ACCESS_TABLE, FORUMS_TRACK_TABLE, FORUMS_WATCH_TABLE, LOG_TABLE, MODERATOR_CACHE_TABLE, POSTS_TABLE, TOPICS_TABLE, TOPICS_TRACK_TABLE);

		foreach ($table_ary as $table)
		{
			$db->sql_query("DELETE FROM $table WHERE forum_id = $forum_id");
		}

		// Set forum ids to 0
		$table_ary = array(DRAFTS_TABLE);

		foreach ($table_ary as $table)
		{
			$db->sql_query("UPDATE $table SET forum_id = 0 WHERE forum_id = $forum_id");
		}

		// Adjust users post counts
		if (sizeof($post_counts))
		{
			foreach ($post_counts as $poster_id => $substract)
			{
				$sql = 'UPDATE ' . USERS_TABLE . '
					SET user_posts = 0
					WHERE user_id = ' . $poster_id . '
					AND user_posts < ' . $substract;
				$db->sql_query($sql);
				$sql = 'UPDATE ' . USERS_TABLE . '
					SET user_posts = user_posts - ' . $substract . '
					WHERE user_id = ' . $poster_id . '
					AND user_posts >= ' . $substract;
				$db->sql_query($sql);
			}
		}

		$db->sql_transaction('commit');

		// Make sure the overall post/topic count is correct...
		$sql = 'SELECT COUNT(post_id) AS stat
			FROM ' . POSTS_TABLE . '
			WHERE post_approved = 1';
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		set_config('num_posts', (int) $row['stat'], true);

		$sql = 'SELECT COUNT(topic_id) AS stat
			FROM ' . TOPICS_TABLE . '
			WHERE topic_approved = 1';
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		set_config('num_topics', (int) $row['stat'], true);

		$sql = 'SELECT COUNT(attach_id) as stat
			FROM ' . ATTACHMENTS_TABLE;
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		set_config('num_files', (int) $row['stat'], true);

		$sql = 'SELECT SUM(filesize) as stat
			FROM ' . ATTACHMENTS_TABLE;
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		set_config('upload_dir_size', (int) $row['stat'], true);

		return array();
	}

	/**
	* Move forum position by $steps up/down
	*/
	function move_forum_by($forum_row, $action = 'move_up', $steps = 1)
	{
		global $db;

		/**
		* Fetch all the siblings between the module's current spot
		* and where we want to move it to. If there are less than $steps
		* siblings between the current spot and the target then the
		* module will move as far as possible
		*/
		$sql = 'SELECT forum_id, forum_name, left_id, right_id
			FROM ' . FORUMS_TABLE . "
			WHERE parent_id = {$forum_row['parent_id']}
				AND " . (($action == 'move_up') ? "right_id < {$forum_row['right_id']} ORDER BY right_id DESC" : "left_id > {$forum_row['left_id']} ORDER BY left_id ASC");
		$result = $db->sql_query_limit($sql, $steps);

		$target = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$target = $row;
		}
		$db->sql_freeresult($result);

		if (!sizeof($target))
		{
			// The forum is already on top or bottom
			return false;
		}

		/**
		* $left_id and $right_id define the scope of the nodes that are affected by the move.
		* $diff_up and $diff_down are the values to substract or add to each node's left_id
		* and right_id in order to move them up or down.
		* $move_up_left and $move_up_right define the scope of the nodes that are moving
		* up. Other nodes in the scope of ($left_id, $right_id) are considered to move down.
		*/
		if ($action == 'move_up')
		{
			$left_id = $target['left_id'];
			$right_id = $forum_row['right_id'];

			$diff_up = $forum_row['left_id'] - $target['left_id'];
			$diff_down = $forum_row['right_id'] + 1 - $forum_row['left_id'];

			$move_up_left = $forum_row['left_id'];
			$move_up_right = $forum_row['right_id'];
		}
		else
		{
			$left_id = $forum_row['left_id'];
			$right_id = $target['right_id'];

			$diff_up = $forum_row['right_id'] + 1 - $forum_row['left_id'];
			$diff_down = $target['right_id'] - $forum_row['right_id'];

			$move_up_left = $forum_row['right_id'] + 1;
			$move_up_right = $target['right_id'];
		}

		// Now do the dirty job
		$sql = 'UPDATE ' . FORUMS_TABLE . "
			SET left_id = left_id + CASE
				WHEN left_id BETWEEN {$move_up_left} AND {$move_up_right} THEN -{$diff_up}
				ELSE {$diff_down}
			END,
			right_id = right_id + CASE
				WHEN right_id BETWEEN {$move_up_left} AND {$move_up_right} THEN -{$diff_up}
				ELSE {$diff_down}
			END,
			forum_parents = ''
			WHERE
				left_id BETWEEN {$left_id} AND {$right_id}
				AND right_id BETWEEN {$left_id} AND {$right_id}";
		$db->sql_query($sql);

		return $target['forum_name'];
	}

	/**
	* Display progress bar for syncinc forums
	*/
	function display_progress_bar($start, $total)
	{
		global $template, $user;

		adm_page_header($user->lang['SYNC_IN_PROGRESS']);

		$template->set_filenames(array(
			'body'	=> 'progress_bar.html')
		);

		$template->assign_vars(array(
			'L_PROGRESS'			=> $user->lang['SYNC_IN_PROGRESS'],
			'L_PROGRESS_EXPLAIN'	=> ($start && $total) ? sprintf($user->lang['SYNC_IN_PROGRESS_EXPLAIN'], $start, $total) : $user->lang['SYNC_IN_PROGRESS'])
		);

		adm_page_footer();
	}
}

?>
msgid "No password" msgstr "Sense contrasenya" #: authentication.pm:266 #, c-format msgid "This password is too short (it must be at least %d characters long)" msgstr "" "Aquesta contrasenya és massa curta (ha de tenir com a mínim %d caràcters)" #: authentication.pm:377 #, c-format msgid "Cannot use broadcast with no NIS domain" msgstr "No es pot utilitzar la difusió sense un domini NIS" #: authentication.pm:893 #, c-format msgid "Select file" msgstr "Seleccioneu el fitxer" #: authentication.pm:899 #, fuzzy, c-format msgid "Domain Windows for authentication : " msgstr "Cal l'autenticació de domini" #: authentication.pm:901 #, c-format msgid "Domain Admin User Name" msgstr "Nom d'usuari de l'administrador del domini" #: authentication.pm:902 #, c-format msgid "Domain Admin Password" msgstr "Contrasenya de l'administrador del domini" # NOTE: this message will be displayed at boot time; that is # only the ascii charset will be available on most machines # so use only 7bit for this message (and do transliteration or # leave it in English, as it is the best for your language) #. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit) #: bootloader.pm:994 #, c-format msgid "" "Welcome to the operating system chooser!\n" "\n" "Choose an operating system from the list above or\n" "wait for default boot.\n" "\n" msgstr "" "Benvingut al selector de sistema operatiu!\n" "\n" "Trieu un sistema operatiu de la llista superior, o espereu\n" "per arrencar en el sistema operatiu predeterminat.\n" "\n" #: bootloader.pm:1171 #, c-format msgid "LILO with text menu" msgstr "LILO amb menú de text" #: bootloader.pm:1172 #, c-format msgid "GRUB with graphical menu" msgstr "GRUB amb menú gràfic" #: bootloader.pm:1173 #, c-format msgid "GRUB with text menu" msgstr "GRUB amb menú de text" #: bootloader.pm:1174 #, c-format msgid "Yaboot" msgstr "Yaboot" #: bootloader.pm:1175 #, c-format msgid "SILO" msgstr "SILO" #: bootloader.pm:1259 #, c-format msgid "not enough room in /boot" msgstr "no hi ha prou espai a /boot" #: bootloader.pm:1985 #, c-format msgid "You can not install the bootloader on a %s partition\n" msgstr "No podeu instal·lar el carregador de l'arrencada a una partició %s\n" #: bootloader.pm:2106 #, c-format msgid "" "Your bootloader configuration must be updated because partition has been " "renumbered" msgstr "" "La configuració del vostre carregador d'arrencada s'ha d'actualitzar ja que " "la partició ha estat renumerada" #: bootloader.pm:2119 #, c-format msgid "" "The bootloader can not be installed correctly. You have to boot rescue and " "choose \"%s\"" msgstr "" "El carregador d'arrencada no s'ha pogut instal·lar correctament. Heu " "d'arrencar amb l'opció de rescat i escollir \"%s\"" #: bootloader.pm:2120 #, c-format msgid "Re-install Boot Loader" msgstr "Reinstal·la el carregador de l'arrencada" #: common.pm:142 #, fuzzy, c-format msgid "B" msgstr "KB" #: common.pm:142 #, c-format msgid "KB" msgstr "KB" #: common.pm:142 #, c-format msgid "MB" msgstr "MB" #: common.pm:142 #, c-format msgid "GB" msgstr "GB" #: common.pm:142 common.pm:151 #, c-format msgid "TB" msgstr "TB" #: common.pm:159 #, c-format msgid "%d minutes" msgstr "%d minuts" #: common.pm:161 #, c-format msgid "1 minute" msgstr "1 minut" #: common.pm:163 #, c-format msgid "%d seconds" msgstr "%d segons" #: common.pm:383 #, c-format msgid "command %s missing" msgstr "" #: diskdrake/dav.pm:17 #, c-format msgid "" "WebDAV is a protocol that allows you to mount a web server's directory\n" "locally, and treat it like a local filesystem (provided the web server is\n" "configured as a WebDAV server). If you would like to add WebDAV mount\n" "points, select \"New\"." msgstr "" "WebDAV és un protocol que permet muntar un directori d'un servidor web\n" "localment, i tractar-lo com si fos un sistema de fitxers local (amb el " "benentès\n" "que el servidor web està configurat com a servidor WebDAV). Si voleu afegir\n" "punts de muntatge WebDAV, seleccioneu \"Nou\"." #: diskdrake/dav.pm:25 #, c-format msgid "New" msgstr "Nou" #: diskdrake/dav.pm:63 diskdrake/interactive.pm:414 diskdrake/smbnfs_gtk.pm:75 #, c-format msgid "Unmount" msgstr "Desmunta" #: diskdrake/dav.pm:64 diskdrake/interactive.pm:410 diskdrake/smbnfs_gtk.pm:76 #, c-format msgid "Mount" msgstr "Munta" #: diskdrake/dav.pm:65 #, c-format msgid "Server" msgstr "Servidor" #: diskdrake/dav.pm:66 diskdrake/interactive.pm:404 #: diskdrake/interactive.pm:725 diskdrake/interactive.pm:743 #: diskdrake/interactive.pm:747 diskdrake/removable.pm:23 #: diskdrake/smbnfs_gtk.pm:79 #, c-format msgid "Mount point" msgstr "Punt de muntatge" #: diskdrake/dav.pm:67 diskdrake/interactive.pm:406 #: diskdrake/interactive.pm:1160 diskdrake/removable.pm:24 #: diskdrake/smbnfs_gtk.pm:80 #, c-format msgid "Options" msgstr "Opcions" #: diskdrake/dav.pm:68 interactive.pm:387 interactive/gtk.pm:453 #, c-format msgid "Remove" msgstr "Elimina" #: diskdrake/dav.pm:69 diskdrake/hd_gtk.pm:187 diskdrake/removable.pm:26 #: diskdrake/smbnfs_gtk.pm:82 interactive/http.pm:151 #, c-format msgid "Done" msgstr "Fet" #: diskdrake/dav.pm:78 diskdrake/hd_gtk.pm:128 diskdrake/hd_gtk.pm:292 #: diskdrake/interactive.pm:247 diskdrake/interactive.pm:260 #: diskdrake/interactive.pm:453 diskdrake/interactive.pm:524 #: diskdrake/interactive.pm:542 diskdrake/interactive.pm:547 #: diskdrake/interactive.pm:715 diskdrake/interactive.pm:1000 #: diskdrake/interactive.pm:1051 diskdrake/interactive.pm:1206 #: diskdrake/interactive.pm:1219 diskdrake/interactive.pm:1222 #: diskdrake/interactive.pm:1490 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:23 #: do_pkgs.pm:28 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:65 do_pkgs.pm:82 #: fsedit.pm:246 interactive/http.pm:117 interactive/http.pm:118 #: modules/interactive.pm:19 scanner.pm:95 scanner.pm:106 scanner.pm:113 #: scanner.pm:120 wizards.pm:95 wizards.pm:99 wizards.pm:121 #, c-format msgid "Error" msgstr "Error" #: diskdrake/dav.pm:86 #, c-format msgid "Please enter the WebDAV server URL" msgstr "Si us plau introduïu l'URL del servidor WebDAV" #: diskdrake/dav.pm:90 #, c-format msgid "The URL must begin with http:// or https://" msgstr "L'URL ha de començar per http:// o https://" #: diskdrake/dav.pm:106 diskdrake/hd_gtk.pm:417 diskdrake/interactive.pm:306 #: diskdrake/interactive.pm:391 diskdrake/interactive.pm:600 #: diskdrake/interactive.pm:818 diskdrake/interactive.pm:882 #: diskdrake/interactive.pm:1031 diskdrake/interactive.pm:1073 #: diskdrake/interactive.pm:1074 diskdrake/interactive.pm:1300 #: diskdrake/interactive.pm:1338 diskdrake/interactive.pm:1489 do_pkgs.pm:19 #: do_pkgs.pm:39 do_pkgs.pm:57 do_pkgs.pm:77 harddrake/sound.pm:442 #, c-format msgid "Warning" msgstr "Advertència" #: diskdrake/dav.pm:106 #, fuzzy, c-format msgid "Are you sure you want to delete this mount point?" msgstr "Voleu fer clic en aquest botó?" #: diskdrake/dav.pm:124 #, c-format msgid "Server: " msgstr "Servidor: " #: diskdrake/dav.pm:125 diskdrake/interactive.pm:498 #: diskdrake/interactive.pm:1362 diskdrake/interactive.pm:1450 #, c-format msgid "Mount point: " msgstr "Punt de muntatge: " #: diskdrake/dav.pm:126 diskdrake/interactive.pm:1457 #, c-format msgid "Options: %s" msgstr "Opcions: %s" #: diskdrake/hd_gtk.pm:61 diskdrake/interactive.pm:301 #: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:108 #: fs/partitioning_wizard.pm:53 fs/partitioning_wizard.pm:236 #: fs/partitioning_wizard.pm:244 fs/partitioning_wizard.pm:283 #: fs/partitioning_wizard.pm:431 fs/partitioning_wizard.pm:494 #: fs/partitioning_wizard.pm:577 fs/partitioning_wizard.pm:580 #, c-format msgid "Partitioning" msgstr "Particionament" #: diskdrake/hd_gtk.pm:73 #, c-format msgid "Click on a partition, choose a filesystem type then choose an action" msgstr "" #: diskdrake/hd_gtk.pm:110 diskdrake/interactive.pm:1181 #: diskdrake/interactive.pm:1191 diskdrake/interactive.pm:1244 #, c-format msgid "Read carefully" msgstr "Llegiu-ho atentament" #: diskdrake/hd_gtk.pm:110 #, c-format msgid "Please make a backup of your data first" msgstr "Si us plau, feu primer una còpia de seguretat de les vostres dades" #: diskdrake/hd_gtk.pm:111 diskdrake/interactive.pm:240 #, c-format msgid "Exit" msgstr "Surt" #: diskdrake/hd_gtk.pm:111 #, c-format msgid "Continue" msgstr "Continua" #: diskdrake/hd_gtk.pm:182 fs/partitioning_wizard.pm:553 interactive.pm:653 #: interactive/gtk.pm:811 interactive/gtk.pm:829 interactive/gtk.pm:850 #: ugtk2.pm:936 #, c-format msgid "Help" msgstr "Ajuda" #: diskdrake/hd_gtk.pm:228 #, c-format msgid "" "You have one big Microsoft Windows partition.\n" "I suggest you first resize that partition\n" "(click on it, then click on \"Resize\")" msgstr "" "Teniu una partició de Microsoft Windows gran\n" "Suggereixo que primer en canvieu la mida\n" "(feu-hi clic i després feu clic a \"Canvia la mida\")" #: diskdrake/hd_gtk.pm:230 #, c-format msgid "Please click on a partition" msgstr "Si us plau, feu clic a una partició " #: diskdrake/hd_gtk.pm:244 diskdrake/smbnfs_gtk.pm:63 #, c-format msgid "Details" msgstr "Detalls" #: diskdrake/hd_gtk.pm:292 #, c-format msgid "No hard disk drives found" msgstr "No s'ha trobat cap disc dur!" #: diskdrake/hd_gtk.pm:323 #, c-format msgid "Unknown" msgstr "Desconegut" #: diskdrake/hd_gtk.pm:388 #, fuzzy, c-format msgid "Ext4" msgstr "Surt" #: diskdrake/hd_gtk.pm:388 fs/partitioning_wizard.pm:401 #, fuzzy, c-format msgid "XFS" msgstr "HFS" #: diskdrake/hd_gtk.pm:388 fs/partitioning_wizard.pm:401 #, c-format msgid "Swap" msgstr "Intercanvi" #: diskdrake/hd_gtk.pm:388 fs/partitioning_wizard.pm:401 #, c-format msgid "SunOS" msgstr "SunOS" #: diskdrake/hd_gtk.pm:388 fs/partitioning_wizard.pm:401 #, c-format msgid "HFS" msgstr "HFS" #: diskdrake/hd_gtk.pm:388 fs/partitioning_wizard.pm:401 #, c-format msgid "Windows" msgstr "Windows" #: diskdrake/hd_gtk.pm:389 fs/partitioning_wizard.pm:402 services.pm:184 #, c-format msgid "Other" msgstr "Altres" #: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:1377 #: fs/partitioning_wizard.pm:402 #, c-format msgid "Empty" msgstr "Buit" #: diskdrake/hd_gtk.pm:396 #, c-format msgid "Filesystem types:" msgstr "Tipus de sistema de fitxers:" #: diskdrake/hd_gtk.pm:417 #, fuzzy, c-format msgid "This partition is already empty" msgstr "No es pot canviar la mida d'aquesta partició" #: diskdrake/hd_gtk.pm:426 #, c-format msgid "Use ``Unmount'' first" msgstr "Utilitzeu primer \"Unmount\"" #: diskdrake/hd_gtk.pm:426 #, fuzzy, c-format msgid "Use ``%s'' instead (in expert mode)" msgstr "Utilitzeu \"%s\" al seu lloc" #: diskdrake/hd_gtk.pm:426 diskdrake/interactive.pm:405 #: diskdrake/interactive.pm:642 diskdrake/removable.pm:25 #: diskdrake/removable.pm:48 #, c-format msgid "Type" msgstr "Tipus" #: diskdrake/interactive.pm:211 #, c-format msgid "Choose another partition" msgstr "Trieu una altra partició" #: diskdrake/interactive.pm:211 #, c-format msgid "Choose a partition" msgstr "Trieu una partició" #: diskdrake/interactive.pm:273 diskdrake/interactive.pm:382 #: interactive/curses.pm:512 #, c-format msgid "More" msgstr "Més" # #: diskdrake/interactive.pm:281 diskdrake/interactive.pm:294 #: diskdrake/interactive.pm:569 diskdrake/interactive.pm:1285 #, fuzzy, c-format msgid "Confirmation" msgstr "Configuració" #: diskdrake/interactive.pm:281 #, c-format msgid "Continue anyway?" msgstr "Voleu continuar igualment?" #: diskdrake/interactive.pm:286 #, c-format msgid "Quit without saving" msgstr "Surt sense desar" #: diskdrake/interactive.pm:286 #, c-format msgid "Quit without writing the partition table?" msgstr "Voleu sortir sense escriure la taula de particions?" #: diskdrake/interactive.pm:294 #, c-format msgid "Do you want to save the /etc/fstab modifications?" msgstr "Voleu desar les modificacions a /etc/fstab" #: diskdrake/interactive.pm:301 fs/partitioning_wizard.pm:283 #, c-format msgid "You need to reboot for the partition table modifications to take effect" msgstr "" "Us caldrà tornar a arrencar per tal que les modificacions de la taula de " "particions tinguin efecte" #: diskdrake/interactive.pm:306 #, c-format msgid "" "You should format partition %s.\n" "Otherwise no entry for mount point %s will be written in fstab.\n" "Quit anyway?" msgstr "" #: diskdrake/interactive.pm:319 #, c-format msgid "Clear all" msgstr "Buida-ho tot" #: diskdrake/interactive.pm:320 #, c-format msgid "Auto allocate" msgstr "Assigna automàticament" #: diskdrake/interactive.pm:326 #, c-format msgid "Toggle to normal mode" msgstr "Canvia al mode normal" #: diskdrake/interactive.pm:326 #, c-format msgid "Toggle to expert mode" msgstr "Canvia al mode expert" #: diskdrake/interactive.pm:338 #, c-format msgid "Hard disk drive information" msgstr "Informació del disc dur" #: diskdrake/interactive.pm:371 #, c-format msgid "All primary partitions are used" msgstr "S'utilitzen totes les particions primàries" #: diskdrake/interactive.pm:372 #, c-format msgid "I can not add any more partitions" msgstr "No es pot afegir cap més partició" #: diskdrake/interactive.pm:373 #, c-format msgid "" "To have more partitions, please delete one to be able to create an extended " "partition" msgstr "" "Si voleu tenir més particions, suprimiu-ne una per poder crear una partició " "ampliada" #: diskdrake/interactive.pm:384 #, c-format msgid "Reload partition table" msgstr "Torna a carregar la taula de particions" #: diskdrake/interactive.pm:391 #, c-format msgid "Detailed information" msgstr "Informació detallada" #: diskdrake/interactive.pm:403 #, c-format msgid "View" msgstr "" #: diskdrake/interactive.pm:408 diskdrake/interactive.pm:831 #, c-format msgid "Resize" msgstr "Canvia la mida" #: diskdrake/interactive.pm:409 #, c-format msgid "Format" msgstr "Formata" #: diskdrake/interactive.pm:411 diskdrake/interactive.pm:963 #, c-format msgid "Add to RAID" msgstr "Afegeix al RAID" #: diskdrake/interactive.pm:412 diskdrake/interactive.pm:982 #, c-format msgid "Add to LVM" msgstr "Afegeix a l'LVM" #: diskdrake/interactive.pm:413 #, fuzzy, c-format msgid "Use" msgstr "ID d'usuari" #: diskdrake/interactive.pm:415 #, c-format msgid "Delete" msgstr "Suprimeix" #: diskdrake/interactive.pm:416 #, c-format msgid "Remove from RAID" msgstr "Elimina del RAID" #: diskdrake/interactive.pm:417 #, c-format msgid "Remove from LVM" msgstr "Elimina de l'LVM" #: diskdrake/interactive.pm:418 #, fuzzy, c-format msgid "Remove from dm" msgstr "Elimina de l'LVM" #: diskdrake/interactive.pm:419 #, c-format msgid "Modify RAID" msgstr "Modifica el RAID" #: diskdrake/interactive.pm:420 #, c-format msgid "Use for loopback" msgstr "Utilitza per a loopback" #: diskdrake/interactive.pm:431 #, c-format msgid "Create" msgstr "Crea" #: diskdrake/interactive.pm:453 #, fuzzy, c-format msgid "Failed to mount partition" msgstr "Mou els fitxers a la nova partició" #: diskdrake/interactive.pm:487 diskdrake/interactive.pm:489 #, c-format msgid "Create a new partition" msgstr "Crea una nova partició" #: diskdrake/interactive.pm:491 #, c-format msgid "Start sector: " msgstr "Sector d'inici: " #: diskdrake/interactive.pm:494 diskdrake/interactive.pm:1066 #, c-format msgid "Size in MB: " msgstr "Mida en MB: " #: diskdrake/interactive.pm:496 diskdrake/interactive.pm:1067 #, c-format msgid "Filesystem type: " msgstr "Tipus de sistema de fitxers: " #: diskdrake/interactive.pm:502 #, c-format msgid "Preference: " msgstr "Preferència: " #: diskdrake/interactive.pm:505 #, c-format msgid "Logical volume name " msgstr "Nom del volum lògic" #: diskdrake/interactive.pm:507 #, fuzzy, c-format msgid "Encrypt partition" msgstr "Algoritme de xifrat" #: diskdrake/interactive.pm:508 #, fuzzy, c-format msgid "Encryption key " msgstr "Clau de xifratge" #: diskdrake/interactive.pm:509 diskdrake/interactive.pm:1494 #, c-format msgid "Encryption key (again)" msgstr "Clau de xifratge (un altre cop)" #: diskdrake/interactive.pm:521 diskdrake/interactive.pm:1490 #, c-format msgid "The encryption keys do not match" msgstr "Les claus de xifratge no coincideixen" #: diskdrake/interactive.pm:522 #, fuzzy, c-format msgid "Missing encryption key" msgstr "Clau de xifratge del sistema de fitxers: " #: diskdrake/interactive.pm:542 #, c-format msgid "" "You can not create a new partition\n" "(since you reached the maximal number of primary partitions).\n" "First remove a primary partition and create an extended partition." msgstr "" "No podeu crear una nova partició\n" "(perquè heu arribat al màxim nombre de particions primàries).\n" "Esborreu primer una partició primària i creeu una partició ampliada." #: diskdrake/interactive.pm:569 diskdrake/interactive.pm:1285 #: fs/partitioning.pm:48 #, c-format msgid "Check for bad blocks?" msgstr "Voleu comprovar els blocs incorrectes?" #: diskdrake/interactive.pm:600 #, c-format msgid "Remove the loopback file?" msgstr "Voleu suprimir el fitxer de loopback?" #: diskdrake/interactive.pm:623 #, c-format msgid "" "After changing type of partition %s, all data on this partition will be lost" msgstr "" "Després de canviar el tipus de la partició %s, se'n perdran totes les dades" #: diskdrake/interactive.pm:639 #, c-format msgid "Change partition type" msgstr "Canvia el tipus de partició" #: diskdrake/interactive.pm:641 diskdrake/removable.pm:47 #, c-format msgid "Which filesystem do you want?" msgstr "Quin sistema de fitxers voleu?" #: diskdrake/interactive.pm:648 #, fuzzy, c-format msgid "Switching from %s to %s" msgstr "S'està canviant de ext2 a ext3" #: diskdrake/interactive.pm:683 #, fuzzy, c-format msgid "Set volume label" msgstr "Etiqueta del volum: " #: diskdrake/interactive.pm:685 #, c-format msgid "Beware, this will be written to disk as soon as you validate!" msgstr "" #: diskdrake/interactive.pm:686 #, c-format msgid "Beware, this will be written to disk only after formatting!" msgstr "" #: diskdrake/interactive.pm:688 #, c-format msgid "Which volume label?" msgstr "" #: diskdrake/interactive.pm:689 #, fuzzy, c-format msgid "Label:" msgstr "Etiqueta" #: diskdrake/interactive.pm:710 #, c-format msgid "Where do you want to mount the loopback file %s?" msgstr "On voleu muntar el fitxer de loopback %s?" #: diskdrake/interactive.pm:711 #, c-format msgid "Where do you want to mount device %s?" msgstr "On voleu muntar el dispositiu %s?" #: diskdrake/interactive.pm:716 #, c-format msgid "" "Cannot unset mount point as this partition is used for loop back.\n" "Remove the loopback first" msgstr "" "No es pot anul·lar el punt de muntatge, perquè aquesta partició\n" "s'utilitza per al loopback. Elimineu primer el loopback" #: diskdrake/interactive.pm:746 #, c-format msgid "Where do you want to mount %s?" msgstr "On voleu muntar %s?" #: diskdrake/interactive.pm:776 diskdrake/interactive.pm:871 #: fs/partitioning_wizard.pm:129 fs/partitioning_wizard.pm:205 #, c-format msgid "Resizing" msgstr "S'està canviant la mida" #: diskdrake/interactive.pm:776 #, c-format msgid "Computing FAT filesystem bounds" msgstr "S'estan calculant els límits del sistema de fitxers de la FAT" #: diskdrake/interactive.pm:818 #, c-format msgid "This partition is not resizeable" msgstr "No es pot canviar la mida d'aquesta partició" #: diskdrake/interactive.pm:823 #, c-format msgid "All data on this partition should be backed up" msgstr "Cal fer una còpia de seguretat de totes les dades d'aquesta partició" #: diskdrake/interactive.pm:825 #, c-format msgid "After resizing partition %s, all data on this partition will be lost" msgstr "" "Després de canviar la mida de la partició %s, se'n perdran totes les dades" #: diskdrake/interactive.pm:832 #, c-format msgid "Choose the new size" msgstr "Escolliu la nova mida" #: diskdrake/interactive.pm:833 #, c-format msgid "New size in MB: " msgstr "Nova mida en MB: " #: diskdrake/interactive.pm:834 #, c-format msgid "Minimum size: %s MB" msgstr "" #: diskdrake/interactive.pm:835 #, c-format msgid "Maximum size: %s MB" msgstr "" #: diskdrake/interactive.pm:882 fs/partitioning_wizard.pm:213 #, fuzzy, c-format msgid "" "To ensure data integrity after resizing the partition(s),\n" "filesystem checks will be run on your next boot into Microsoft Windows®" msgstr "" "Per assegurar la integritat de les dades després de canviar la mida de la o " "les particions,\n" "les comprovacions del sistema de fitxers es realitzaran el proper cop que " "arrenqueu en Windows(TM)" #: diskdrake/interactive.pm:946 diskdrake/interactive.pm:1485 #, c-format msgid "Filesystem encryption key" msgstr "Clau de xifratge del sistema de fitxers: " #: diskdrake/interactive.pm:947 #, fuzzy, c-format msgid "Enter your filesystem encryption key" msgstr "Escolliu la clau de xifratge del sistema de fitxers" #: diskdrake/interactive.pm:948 diskdrake/interactive.pm:1493 #, c-format msgid "Encryption key" msgstr "Clau de xifratge" #: diskdrake/interactive.pm:955 #, c-format msgid "Invalid key" msgstr "" #: diskdrake/interactive.pm:963 #, c-format msgid "Choose an existing RAID to add to" msgstr "Escolliu un RAID existent al qual afegir-ho" #: diskdrake/interactive.pm:965 diskdrake/interactive.pm:984 #, c-format msgid "new" msgstr "nou" #: diskdrake/interactive.pm:982 #, c-format msgid "Choose an existing LVM to add to" msgstr "Escolliu un LVM existent al qual afegir-ho" #: diskdrake/interactive.pm:994 diskdrake/interactive.pm:1003 #, fuzzy, c-format msgid "LVM name" msgstr "Nom LVM?" #: diskdrake/interactive.pm:995 #, c-format msgid "Enter a name for the new LVM volume group" msgstr "" #: diskdrake/interactive.pm:1000 #, fuzzy, c-format msgid "\"%s\" already exists" msgstr "El fitxer ja existeix. El voleu utilitzar?" #: diskdrake/interactive.pm:1031 #, c-format msgid "" "Physical volume %s is still in use.\n" "Do you want to move used physical extents on this volume to other volumes?" msgstr "" #: diskdrake/interactive.pm:1033 #, c-format msgid "Moving physical extents" msgstr "" #: diskdrake/interactive.pm:1051 #, c-format msgid "This partition can not be used for loopback" msgstr "Aquesta partició no es pot utilitzar per al loopback" #: diskdrake/interactive.pm:1064 #, c-format msgid "Loopback" msgstr "Loopback" #: diskdrake/interactive.pm:1065 #, c-format msgid "Loopback file name: " msgstr "Nom del fitxer de loopback: " #: diskdrake/interactive.pm:1070 #, c-format msgid "Give a file name" msgstr "Proporcioneu un nom de fitxer" #: diskdrake/interactive.pm:1073 #, c-format msgid "File is already used by another loopback, choose another one" msgstr "Un altre loopback ja està utilitzant el fitxer, escolliu-ne un altre" #: diskdrake/interactive.pm:1074 #, c-format msgid "File already exists. Use it?" msgstr "El fitxer ja existeix. El voleu utilitzar?" #: diskdrake/interactive.pm:1106 diskdrake/interactive.pm:1109 #, c-format msgid "Mount options" msgstr "Opcions de muntatge" #: diskdrake/interactive.pm:1116 #, c-format msgid "Various" msgstr "Diversos" #: diskdrake/interactive.pm:1162 #, c-format msgid "device" msgstr "dispositiu" #: diskdrake/interactive.pm:1163 #, c-format msgid "level" msgstr "nivell" #: diskdrake/interactive.pm:1164 #, c-format msgid "chunk size in KiB" msgstr "mida del fragment en KB" #: diskdrake/interactive.pm:1182 #, c-format msgid "Be careful: this operation is dangerous." msgstr "Aneu amb compte: aquesta operació és perillosa." #: diskdrake/interactive.pm:1197 #, fuzzy, c-format msgid "Partitioning Type" msgstr "Particionament" #: diskdrake/interactive.pm:1197 #, c-format msgid "What type of partitioning?" msgstr "Quin tipus de particionament voleu?" #: diskdrake/interactive.pm:1235 #, c-format msgid "You'll need to reboot before the modification can take effect" msgstr "" "Us caldrà tornar a arrencar per tal que les modificacions tinguin efecte" #: diskdrake/interactive.pm:1244 #, c-format msgid "Partition table of drive %s is going to be written to disk" msgstr "La taula de particions de la unitat %s s'escriurà al disc" #: diskdrake/interactive.pm:1263 fs/format.pm:102 fs/format.pm:109 #, c-format msgid "Formatting partition %s" msgstr "S'està formatant la partició %s" #: diskdrake/interactive.pm:1276 #, c-format msgid "After formatting partition %s, all data on this partition will be lost" msgstr "Després de formatar la partició %s, se'n perdran totes les dades" #: diskdrake/interactive.pm:1299 #, c-format msgid "Move files to the new partition" msgstr "Mou els fitxers a la nova partició" #: diskdrake/interactive.pm:1299 #, c-format msgid "Hide files" msgstr "Fitxers ocults" #: diskdrake/interactive.pm:1300 #, c-format msgid "" "Directory %s already contains data\n" "(%s)\n" "\n" "You can either choose to move the files into the partition that will be " "mounted there or leave them where they are (which results in hiding them by " "the contents of the mounted partition)" msgstr "" #: diskdrake/interactive.pm:1315 #, c-format msgid "Moving files to the new partition" msgstr "S'estan movent els fitxers a la nova partició" #: diskdrake/interactive.pm:1319 #, c-format msgid "Copying %s" msgstr "S'està copiant %s" #: diskdrake/interactive.pm:1323 #, c-format msgid "Removing %s" msgstr "S'està esborrant %s" #: diskdrake/interactive.pm:1337 #, c-format msgid "partition %s is now known as %s" msgstr "la partició %s ara és %s" #: diskdrake/interactive.pm:1338 #, c-format msgid "Partitions have been renumbered: " msgstr "" #: diskdrake/interactive.pm:1363 diskdrake/interactive.pm:1434 #, c-format msgid "Device: " msgstr "Dispositiu: " #: diskdrake/interactive.pm:1364 #, c-format msgid "Volume label: " msgstr "Etiqueta del volum: " #: diskdrake/interactive.pm:1365 #, c-format msgid "UUID: " msgstr "" #: diskdrake/interactive.pm:1366 #, c-format msgid "DOS drive letter: %s (just a guess)\n" msgstr "Lletra d'unitat de DOS: %s (només és una suposició)\n" #: diskdrake/interactive.pm:1370 diskdrake/interactive.pm:1379 #: diskdrake/interactive.pm:1453 #, c-format msgid "Type: " msgstr "Tipus: " #: diskdrake/interactive.pm:1374 diskdrake/interactive.pm:1438 #, c-format msgid "Name: " msgstr "Nom: " #: diskdrake/interactive.pm:1381 #, c-format msgid "Start: sector %s\n" msgstr "Inici: sector %s\n" #: diskdrake/interactive.pm:1382 #, c-format msgid "Size: %s" msgstr "Mida: %s" #: diskdrake/interactive.pm:1384 #, c-format msgid ", %s sectors" msgstr ", %s sectors" #: diskdrake/interactive.pm:1386 #, c-format msgid "Cylinder %d to %d\n" msgstr "Cilindre %d a %d\n" #: diskdrake/interactive.pm:1387 #, c-format msgid "Number of logical extents: %d\n" msgstr "" #: diskdrake/interactive.pm:1388 #, c-format msgid "Formatted\n" msgstr "Formatat\n" #: diskdrake/interactive.pm:1389 #, c-format msgid "Not formatted\n" msgstr "Sense formatar\n" #: diskdrake/interactive.pm:1390 #, c-format msgid "Mounted\n" msgstr "Muntat\n" #: diskdrake/interactive.pm:1391 #, c-format msgid "RAID %s\n" msgstr "RAID %s\n" #: diskdrake/interactive.pm:1393 #, fuzzy, c-format msgid "Encrypted" msgstr "Clau de xifratge" #: diskdrake/interactive.pm:1395 #, c-format msgid " (mapped on %s)" msgstr "" #: diskdrake/interactive.pm:1396 #, c-format msgid " (to map on %s)" msgstr "" #: diskdrake/interactive.pm:1397 #, c-format msgid " (inactive)" msgstr "" #: diskdrake/interactive.pm:1404 #, c-format msgid "" "Loopback file(s):\n" " %s\n" msgstr "" "Fitxer(s) de loopback:\n" " %s\n" #: diskdrake/interactive.pm:1405 #, c-format msgid "" "Partition booted by default\n" " (for MS-DOS boot, not for lilo)\n" msgstr "" "Partició arrencada per defecte\n" " (per a l'arrencada de l'MS-DOS, no per a LILO)\n" #: diskdrake/interactive.pm:1407 #, c-format msgid "Level %s\n" msgstr "Nivell %s\n" #: diskdrake/interactive.pm:1408 #, c-format msgid "Chunk size %d KiB\n" msgstr "Mida del fragment %d KB\n" #: diskdrake/interactive.pm:1409 #, c-format msgid "RAID-disks %s\n" msgstr "Discs RAID %s\n" #: diskdrake/interactive.pm:1411 #, c-format msgid "Loopback file name: %s" msgstr "Nom del fitxer de loopback: %s" #: diskdrake/interactive.pm:1414 #, c-format msgid "" "\n" "Chances are, this partition is\n" "a Driver partition. You should\n" "probably leave it alone.\n" msgstr "" "\n" "És possible que aquesta partició sigui\n" "una partició de programes de control. Potser\n" "és millor que no la toqueu.\n" #: diskdrake/interactive.pm:1417 #, c-format msgid "" "\n" "This special Bootstrap\n" "partition is for\n" "dual-booting your system.\n" msgstr "" "\n" "Aquesta partició especial\n" "Bootstrap és per arrencar\n" "el vostre sistema en dual.\n" #: diskdrake/interactive.pm:1426 #, c-format msgid "Free space on %s (%s)" msgstr "" #: diskdrake/interactive.pm:1435 #, c-format msgid "Read-only" msgstr "Només lectura" #: diskdrake/interactive.pm:1436 #, c-format msgid "Size: %s\n" msgstr "Mida: %s\n" #: diskdrake/interactive.pm:1437 #, c-format msgid "Geometry: %s cylinders, %s heads, %s sectors\n" msgstr "Geometria: %s cilindres, %s capçals, %s sectors\n" #: diskdrake/interactive.pm:1439 #, fuzzy, c-format msgid "Medium type: " msgstr "Tipus de sistema de fitxers: " #: diskdrake/interactive.pm:1440 #, c-format msgid "LVM-disks %s\n" msgstr "Discs LVM %s\n" #: diskdrake/interactive.pm:1441 #, c-format msgid "Partition table type: %s\n" msgstr "Tipus de taula de particions: %s\n" #: diskdrake/interactive.pm:1442 #, c-format msgid "on channel %d id %d\n" msgstr "al canal %d amb id %d\n" #: diskdrake/interactive.pm:1486 #, c-format msgid "Choose your filesystem encryption key" msgstr "Escolliu la clau de xifratge del sistema de fitxers" #: diskdrake/interactive.pm:1489 #, c-format msgid "This encryption key is too simple (must be at least %d characters long)" msgstr "" "Aquesta clau de xifratge és massa senzilla (ha de tenir com a mínim %d " "caràcters)" #: diskdrake/interactive.pm:1496 #, c-format msgid "Encryption algorithm" msgstr "Algoritme de xifrat" #: diskdrake/removable.pm:46 #, c-format msgid "Change type" msgstr "Canvia el tipus" #: diskdrake/smbnfs_gtk.pm:81 interactive.pm:129 interactive.pm:550 #: interactive/curses.pm:260 interactive/http.pm:104 interactive/http.pm:160 #: interactive/stdio.pm:39 interactive/stdio.pm:148 mygtk2.pm:847 ugtk2.pm:415 #: ugtk2.pm:517 ugtk2.pm:526 ugtk2.pm:812 #, c-format msgid "Cancel" msgstr "Cancel·la" #: diskdrake/smbnfs_gtk.pm:164 #, c-format msgid "Cannot login using username %s (bad password?)" msgstr "" "No es pot entrar amb el nom d'usuari %s (potser la contrasenya és " "incorrecta?)" #: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177 #, c-format msgid "Domain Authentication Required" msgstr "Cal l'autenticació de domini" #: diskdrake/smbnfs_gtk.pm:169 #, c-format msgid "Which username" msgstr "Quin nom d'usuari?" #: diskdrake/smbnfs_gtk.pm:169 #, c-format msgid "Another one" msgstr "Un altre" #: diskdrake/smbnfs_gtk.pm:178 #, c-format msgid "" "Please enter your username, password and domain name to access this host." msgstr "" "Introduïu el vostre nom d'usuari, la contrasenya i el nom de domini per " "accedir a aquesta màquina." #: diskdrake/smbnfs_gtk.pm:180 #, c-format msgid "Username" msgstr "Nom d'usuari" #: diskdrake/smbnfs_gtk.pm:182 #, c-format msgid "Domain" msgstr "Domini" #: diskdrake/smbnfs_gtk.pm:206 #, c-format msgid "Search servers" msgstr "Cerca servidors" #: diskdrake/smbnfs_gtk.pm:211 #, c-format msgid "Search for new servers" msgstr "Cerca nous servidors" #: do_pkgs.pm:19 do_pkgs.pm:57 #, c-format msgid "The package %s needs to be installed. Do you want to install it?" msgstr "Cal instal·lar el paquet %s. Voleu instal·lar-lo?" #: do_pkgs.pm:23 do_pkgs.pm:44 do_pkgs.pm:60 do_pkgs.pm:82 #, c-format msgid "Could not install the %s package!" msgstr "No es pot instal·lar el paquet %s!" #: do_pkgs.pm:28 do_pkgs.pm:65 #, c-format msgid "Mandatory package %s is missing" msgstr "El paquet %s necessari falta" #: do_pkgs.pm:39 do_pkgs.pm:77 #, c-format msgid "The following packages need to be installed:\n" msgstr "Cal instal·lar els paquets següents:\n" #: do_pkgs.pm:241 #, c-format msgid "Installing packages..." msgstr "S'estan instal·lant els paquets..." #: do_pkgs.pm:287 pkgs.pm:285 #, c-format msgid "Removing packages..." msgstr "S'estan eliminant els paquets..." #: fs/any.pm:17 #, c-format msgid "" "An error occurred - no valid devices were found on which to create new " "filesystems. Please check your hardware for the cause of this problem" msgstr "" "S'ha produït un error: no s'han trobat dispositius vàlids on crear nous " "sistemes de fitxers. Si us plau, comproveu el vostre maquinari per trobar el " "problema" #: fs/any.pm:75 fs/partitioning_wizard.pm:62 #, c-format msgid "You must have a FAT partition mounted in /boot/efi" msgstr "Heu de tenir una partició FAT muntada en /boot/efi" #: fs/format.pm:106 #, c-format msgid "Creating and formatting file %s" msgstr "S'està creant i formatant el fitxer %s" #: fs/format.pm:125 #, fuzzy, c-format msgid "I do not know how to set label on %s with type %s" msgstr "No sé com formatar %s amb el tipus %s" #: fs/format.pm:134 #, fuzzy, c-format msgid "setting label on %s failed, is it formatted?" msgstr "%s formatació de %s ha fallat" #: fs/format.pm:175 #, c-format msgid "I do not know how to format %s in type %s" msgstr "No sé com formatar %s amb el tipus %s" #: fs/format.pm:180 fs/format.pm:182 #, c-format msgid "%s formatting of %s failed" msgstr "%s formatació de %s ha fallat" #: fs/loopback.pm:24 #, c-format msgid "Circular mounts %s\n" msgstr "Muntatges circulars %s\n" #: fs/mount.pm:85 #, c-format msgid "Mounting partition %s" msgstr "S'està muntant la partició %s" #: fs/mount.pm:86 #, c-format msgid "mounting partition %s in directory %s failed" msgstr "El muntatge de la partició %s en el directori %s ha fallat" #: fs/mount.pm:91 fs/mount.pm:108 #, c-format msgid "Checking %s" msgstr "S'està comprovant %s" #: fs/mount.pm:125 partition_table.pm:409 #, c-format msgid "error unmounting %s: %s" msgstr "s'ha produït un error en desmuntar %s: %s" #: fs/mount.pm:140 #, c-format msgid "Enabling swap partition %s" msgstr "S'està habilitant la partició d'intercanvi %s" #: fs/mount_options.pm:112 #, c-format msgid "Enable POSIX Access Control Lists" msgstr "" #: fs/mount_options.pm:114 #, c-format msgid "Flush write cache on file close" msgstr "" #: fs/mount_options.pm:116 #, c-format msgid "Enable group disk quota accounting and optionally enforce limits" msgstr "" #: fs/mount_options.pm:118 #, c-format msgid "" "Do not update inode access times on this filesystem\n" "(e.g, for faster access on the news spool to speed up news servers)." msgstr "" "No actualitzeu els temps d'accés a inode en aquest sistema de fitxers (p.ex. " "per a un accés\n" "més ràpid a l'\"spool\" de grups de discussió per accelerar els servidor de " "grups de discussió)." #: fs/mount_options.pm:121 #, fuzzy, c-format msgid "" "Update inode access times on this filesystem in a more efficient way\n" "(e.g, for faster access on the news spool to speed up news servers)." msgstr "" "No actualitzeu els temps d'accés a inode en aquest sistema de fitxers (p.ex. " "per a un accés\n" "més ràpid a l'\"spool\" de grups de discussió per accelerar els servidor de " "grups de discussió)." #: fs/mount_options.pm:124 #, c-format msgid "" "Can only be mounted explicitly (i.e.,\n" "the -a option will not cause the filesystem to be mounted)." msgstr "" "Només es pot muntar explícitament (p. ex.,\n" "l'opció -a no farà que el sistema de fitxers es munti)." #: fs/mount_options.pm:127 #, c-format msgid "Do not interpret character or block special devices on the filesystem." msgstr "" "No interpretis el dispositius especials de caràcter o bloc en el sistema de " "fitxers." #: fs/mount_options.pm:129 #, c-format msgid "" "Do not allow execution of any binaries on the mounted\n" "filesystem. This option might be useful for a server that has filesystems\n" "containing binaries for architectures other than its own." msgstr "" "No permetis que s'executi cap binari en el sistema de fitxers\n" "muntat. Aquesta opció pot ser útil per a un servidor que tingui\n" "sistemes de fitxers amb binaris d'arquitectures diferents a la pròpia." #: fs/mount_options.pm:133 #, c-format msgid "" "Do not allow set-user-identifier or set-group-identifier\n" "bits to take effect. (This seems safe, but is in fact rather unsafe if you\n" "have suidperl(1) installed.)" msgstr "" "No permetis que els bits defineix-identificador-usuari o\n" "defineix-identificador-grup tinguin efecte (sembla segur,\n" "però de fet és força insegur si es té el suidperl(1) instal·lat)." #: fs/mount_options.pm:137 #, c-format msgid "Mount the filesystem read-only." msgstr "Munta el sistema de fitxers només de lectura." #: fs/mount_options.pm:139 #, c-format msgid "All I/O to the filesystem should be done synchronously." msgstr "Totes les E/S del sistema de fitxers s'han de fer sincronitzadament." #: fs/mount_options.pm:141 #, c-format msgid "Allow every user to mount and umount the filesystem." msgstr "" #: fs/mount_options.pm:143 #, c-format msgid "Allow an ordinary user to mount the filesystem." msgstr "" #: fs/mount_options.pm:145 #, c-format msgid "Enable user disk quota accounting, and optionally enforce limits" msgstr "" #: fs/mount_options.pm:147 #, c-format msgid "Support \"user.\" extended attributes" msgstr "" #: fs/mount_options.pm:149 #, c-format msgid "Give write access to ordinary users" msgstr "Dona accés d'escriptura a usuaris normal" #: fs/mount_options.pm:151 #, c-format msgid "Give read-only access to ordinary users" msgstr "Dona accés només d'escriptura als usuaris normal" #: fs/mount_point.pm:82 #, c-format msgid "Duplicate mount point %s" msgstr "Duplica el punt de muntatge %s" #: fs/mount_point.pm:97 #, c-format msgid "No partition available" msgstr "No hi ha particions disponibles" #: fs/mount_point.pm:100 #, c-format msgid "Scanning partitions to find mount points" msgstr "S'estan explorant les particions per trobar els punts de muntatge" #: fs/mount_point.pm:107 #, c-format msgid "Choose the mount points" msgstr "Escolliu els punts de muntatge" #: fs/partitioning.pm:46 #, c-format msgid "Choose the partitions you want to format" msgstr "Escolliu les particions que voleu formatar" #: fs/partitioning.pm:75 #, c-format msgid "" "Failed to check filesystem %s. Do you want to repair the errors? (beware, " "you can lose data)" msgstr "" "És impossible de comprovar el sistema de fitxers %s. Voleu reparar els " "errors? (Vigileu, podríeu perdre dades.)" #: fs/partitioning.pm:78 #, c-format msgid "Not enough swap space to fulfill installation, please add some" msgstr "" "No hi ha prou espai d'intercanvi per completar la instal·lació; si us plau, " "afegiu-ne" #: fs/partitioning_wizard.pm:53 #, c-format msgid "" "You must have a root partition.\n" "To accomplish this, create a partition (or click on an existing one).\n" "Then choose action ``Mount point'' and set it to `/'" msgstr "" "Heu de tenir una partició arrel.\n" "Per fer-ho, creeu una partició (o feu clic a una d'existent).\n" "Després, trieu l'acció \"Punt de muntatge\" i doneu-li el valor '/'" #: fs/partitioning_wizard.pm:59 #, c-format msgid "" "You do not have a swap partition.\n" "\n" "Continue anyway?" msgstr "" "No teniu cap partició d'intercanvi.\n" "\n" "Voleu continuar igualment?" #: fs/partitioning_wizard.pm:93 #, c-format msgid "Use free space" msgstr "Utilitza l'espai lliure" #: fs/partitioning_wizard.pm:95 #, c-format msgid "Not enough free space to allocate new partitions" msgstr "No hi ha prou espai lliure per assignar noves particions" #: fs/partitioning_wizard.pm:103 #, c-format msgid "Use existing partitions" msgstr "Utilitza les particions existents" #: fs/partitioning_wizard.pm:105 #, c-format msgid "There is no existing partition to use" msgstr "No hi ha cap partició que es pugui utilitzar" #: fs/partitioning_wizard.pm:129 #, c-format msgid "Computing the size of the Microsoft Windows® partition" msgstr "S'està calculant la mida de la partició de Microsoft Windows®" #: fs/partitioning_wizard.pm:165 #, fuzzy, c-format msgid "Use the free space on a Microsoft Windows® partition" msgstr "Utilitza l'espai lliure de la partició de Windows" #: fs/partitioning_wizard.pm:169 #, c-format msgid "Which partition do you want to resize?" msgstr "A quina partició voleu canviar-li la mida?" #: fs/partitioning_wizard.pm:172 #, c-format msgid "" "Your Microsoft Windows® partition is too fragmented. Please reboot your " "computer under Microsoft Windows®, run the ``defrag'' utility, then restart " "the Mageia Linux installation." msgstr "" "La partició de Microsoft Windows® està massa fragmentada. Si us plau, " "reinicieu l'ordinador sota Microsoft Windows® i executeu l'eina \"defrag\". " "Llavors, torneu a començar la instal·lació del Mageia Linux." #: fs/partitioning_wizard.pm:180 #, c-format msgid "" "WARNING!\n" "\n" "\n" "Your Microsoft Windows® partition will be now resized.\n" "\n" "\n" "Be careful: this operation is dangerous. If you have not already done so, " "you first need to exit the installation, run \"chkdsk c:\" from a Command " "Prompt under Microsoft Windows® (beware, running graphical program \"scandisk" "\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), " "optionally run defrag, then restart the installation. You should also backup " "your data.\n" "\n" "\n" "When sure, press %s." msgstr "" "ATENCIÓ!\n" "\n" "\n" "Tot seguit, DrakX canviarà la mida de la vostra partició de Windows.\n" "\n" "\n" "Aneu amb compte: aquesta operació és perillosa. Si encara no ho heu fet, " "sortiu de la instal·lació, executeu \"chkdsk c:\" a la línia de comandes " "sota Windows (atenció el programa gràfic \"scandisk\" no és suficient, " "assegura't d'usar \"chkdsk\" en una línia de comandes), opcionalment " "executeu defrag, despréstorneu a començar la instal·lació. També haurieu de " "fer una còpia de seguretat de les vostres dades.\n" "\n" "\n" "Quan estigueu segur, premeu %s." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: fs/partitioning_wizard.pm:189 fs/partitioning_wizard.pm:557 #: interactive.pm:549 interactive/curses.pm:263 ugtk2.pm:519 #, c-format msgid "Next" msgstr "Següent" #: fs/partitioning_wizard.pm:195 #, fuzzy, c-format msgid "Partitionning" msgstr "Particionament" #: fs/partitioning_wizard.pm:195 #, c-format msgid "Which size do you want to keep for Microsoft Windows® on partition %s?" msgstr "" "Quina mida voleu deixar per a la partició de Microsoft Windows® partició %s?" #: fs/partitioning_wizard.pm:196 #, c-format msgid "Size" msgstr "Mida" #: fs/partitioning_wizard.pm:205 #, c-format msgid "Resizing Microsoft Windows® partition" msgstr "S'està redimensionant la partició de Microsoft Windows®" #: fs/partitioning_wizard.pm:210 #, c-format msgid "FAT resizing failed: %s" msgstr "Ha fallat el redimensionament de la FAT: %s" #: fs/partitioning_wizard.pm:226 #, c-format msgid "There is no FAT partition to resize (or not enough space left)" msgstr "" "No hi ha cap partició FAT a la qual canviar la mida (o no queda prou espai)" #: fs/partitioning_wizard.pm:231 #, c-format msgid "Remove Microsoft Windows®" msgstr "Elimina el Microsoft Windows®" #: fs/partitioning_wizard.pm:231 #, fuzzy, c-format msgid "Erase and use entire disk" msgstr "Esborra tot el disc" #: fs/partitioning_wizard.pm:235 #, fuzzy, c-format msgid "" "You have more than one hard disk drive, which one do you want the installer " "to use?" msgstr "Teniu més d'un disc dur; en quin voleu instal·lar el Linux?" #: fs/partitioning_wizard.pm:243 fsedit.pm:632 #, c-format msgid "ALL existing partitions and their data will be lost on drive %s" msgstr "" "Es perdran TOTES les particions, i les dades que contenen, de la unitat %s" #: fs/partitioning_wizard.pm:253 #, c-format msgid "Custom disk partitioning" msgstr "Particionament personalitzat de disc" #: fs/partitioning_wizard.pm:259 #, c-format msgid "Use fdisk" msgstr "Utilitza l'fdisk" #: fs/partitioning_wizard.pm:262 #, c-format msgid "" "You can now partition %s.\n" "When you are done, do not forget to save using `w'" msgstr "" "Ara podeu fer les particions a %s.\n" "Quan acabeu, no oblideu desar-les utilitzant 'w'" #: fs/partitioning_wizard.pm:401 #, fuzzy, c-format msgid "Ext2/3/4" msgstr "Surt" #: fs/partitioning_wizard.pm:431 fs/partitioning_wizard.pm:577 #, c-format msgid "I can not find any room for installing" msgstr "No es pot trobar espai per a la instal·lació" #: fs/partitioning_wizard.pm:440 fs/partitioning_wizard.pm:584 #, c-format msgid "The DrakX Partitioning wizard found the following solutions:" msgstr "" "L'auxiliar de particionament del DrakX ha trobat les solucions següents:" #: fs/partitioning_wizard.pm:510 #, c-format msgid "Here is the content of your disk drive " msgstr "" #: fs/partitioning_wizard.pm:594 #, c-format msgid "Partitioning failed: %s" msgstr "Ha fallat el particionament: %s" #: fs/type.pm:393 #, c-format msgid "You can not use JFS for partitions smaller than 16MB" msgstr "No podeu utilitzar el JFS per a particions inferiors a 16 MB" #: fs/type.pm:394 #, c-format msgid "You can not use ReiserFS for partitions smaller than 32MB" msgstr "No podeu utilitzar el ReiserFS per a particions inferiors a 32 MB" #: fsedit.pm:24 #, c-format msgid "simple" msgstr "senzill" #: fsedit.pm:28 #, c-format msgid "with /usr" msgstr "amb /usr" #: fsedit.pm:33 #, c-format msgid "server" msgstr "servidor" #: fsedit.pm:137 #, c-format msgid "BIOS software RAID detected on disks %s. Activate it?" msgstr "" #: fsedit.pm:247 #, c-format msgid "" "I can not read the partition table of device %s, it's too corrupted for me :" "(\n" "I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n" "The other solution is to not allow DrakX to modify the partition table.\n" "(the error is %s)\n" "\n" "Do you agree to lose all the partitions?\n" msgstr "" "No es pot llegir la taula de particions del dispositiu %s, està massa " "malmesa :(\n" "Es pot mirar de continuar, suprimint les particions incorrectes (es perdran " "TOTES LES DADES!).\n" "L'altra solució és impedir al DrakX que modifiqui la taula de particions.\n" "(l'error és %s)\n" "\n" "Esteu d'acord en perdre totes les particions?\n" #: fsedit.pm:427 #, c-format msgid "Mount points must begin with a leading /" msgstr "Els punts de muntatge han de començar amb una /" #: fsedit.pm:428 #, c-format msgid "Mount points should contain only alphanumerical characters" msgstr "Els punts de muntatge només poden contenir caràcters alfanumèrics" #: fsedit.pm:429 #, c-format msgid "There is already a partition with mount point %s\n" msgstr "Ja hi ha una partició amb el punt de muntatge %s\n" #: fsedit.pm:434 #, c-format msgid "" "You've selected a software RAID partition as root (/).\n" "No bootloader is able to handle this without a /boot partition.\n" "Please be sure to add a separate /boot partition" msgstr "" "Heu seleccionat una partició RAID de programari com a arrel (/).\n" "Això no ho pot gestionar cap carregador d'arrencada sense una partició /" "boot.\n" "Si us plau, assegureu-vos d'afegir una partició /boot" #: fsedit.pm:440 #, fuzzy, c-format msgid "" "Metadata version unsupported for a boot partition. Please be sure to add a /" "boot partition." msgstr "" "Heu seleccionat una partició RAID de programari com a arrel (/).\n" "Això no ho pot gestionar cap carregador d'arrencada sense una partició /" "boot.\n" "Si us plau, assegureu-vos d'afegir una partició /boot" #: fsedit.pm:448 #, fuzzy, c-format msgid "" "You've selected a software RAID partition as /boot.\n" "No bootloader is able to handle this." msgstr "" "Heu seleccionat una partició RAID de programari com a arrel (/).\n" "Això no ho pot gestionar cap carregador d'arrencada sense una partició /" "boot.\n" "Si us plau, assegureu-vos d'afegir una partició /boot" #: fsedit.pm:452 #, c-format msgid "Metadata version unsupported for a boot partition." msgstr "" #: fsedit.pm:459 #, fuzzy, c-format msgid "" "You've selected an encrypted partition as root (/).\n" "No bootloader is able to handle this without a /boot partition.\n" "Please be sure to add a separate /boot partition" msgstr "" "Heu seleccionat una partició RAID de programari com a arrel (/).\n" "Això no ho pot gestionar cap carregador d'arrencada sense una partició /" "boot.\n" "Si us plau, assegureu-vos d'afegir una partició /boot" #: fsedit.pm:465 fsedit.pm:483 #, c-format msgid "You can not use an encrypted filesystem for mount point %s" msgstr "" "No podeu utilitzar un sistema d'arxius xifrat per al punt de muntatge %s" #: fsedit.pm:469 #, fuzzy, c-format msgid "" "You can not use the LVM Logical Volume for mount point %s since it spans " "physical volumes" msgstr "No podeu utilitzar un volum lògic LVM per al punt de muntatge %s" #: fsedit.pm:471 #, fuzzy, c-format msgid "" "You've selected the LVM Logical Volume as root (/).\n" "The bootloader is not able to handle this when the volume spans physical " "volumes.\n" "You should create a separate /boot partition first" msgstr "" "Heu seleccionat un volum lògic LVM com a arrel (/).\n" "El carregador d'arrencada no ho pot gestionar sense una partició /boot.\n" "Si us plau, assegureu-vos d'afegir una partició /boot" #: fsedit.pm:475 fsedit.pm:477 #, c-format msgid "This directory should remain within the root filesystem" msgstr "Aquest directori s'ha de mantenir dins del sistema de fitxers arrel" #: fsedit.pm:479 fsedit.pm:481 #, c-format msgid "" "You need a true filesystem (ext2/3/4, reiserfs, xfs, or jfs) for this mount " "point\n" msgstr "" "Necessiteu un sistema de fitxers real (ext2/3/4, reiserfs, xfs o jfs) per a " "aquest punt de muntatge\n" #: fsedit.pm:548 #, c-format msgid "Not enough free space for auto-allocating" msgstr "No hi ha prou espai per a l'assignació automàtica" #: fsedit.pm:550 #, c-format msgid "Nothing to do" msgstr "Res a fer" #: harddrake/data.pm:62 #, c-format msgid "SATA controllers" msgstr "Controladors SATA" #: harddrake/data.pm:71 #, c-format msgid "RAID controllers" msgstr "Controladors RAID" #: harddrake/data.pm:81 #, c-format msgid "(E)IDE/ATA controllers" msgstr "Controladors (E)IDE/ATA" #: harddrake/data.pm:92 #, fuzzy, c-format msgid "Card readers" msgstr "Model de la targeta:" #: harddrake/data.pm:101 #, c-format msgid "Firewire controllers" msgstr "Controladors Firewire" #: harddrake/data.pm:110 #, c-format msgid "PCMCIA controllers" msgstr "Controladors PCMCIA" #: harddrake/data.pm:119 #, c-format msgid "SCSI controllers" msgstr "Controladors SCSI" #: harddrake/data.pm:128 #, c-format msgid "USB controllers" msgstr "Controladors USB" #: harddrake/data.pm:137 #, c-format msgid "USB ports" msgstr "Ports USB" #: harddrake/data.pm:146 #, c-format msgid "SMBus controllers" msgstr "Controladors SMBus" #: harddrake/data.pm:155 #, c-format msgid "Bridges and system controllers" msgstr "Ponts i controladors del sistema" #: harddrake/data.pm:167 #, c-format msgid "Floppy" msgstr "Disquet" #: harddrake/data.pm:177 #, c-format msgid "Zip" msgstr "Zip" #: harddrake/data.pm:193 #, c-format msgid "Hard Disk" msgstr "Disc" #: harddrake/data.pm:203 #, fuzzy, c-format msgid "USB Mass Storage Devices" msgstr "Dispositius de so USB" #: harddrake/data.pm:212 #, c-format msgid "CDROM" msgstr "CD-ROM" #: harddrake/data.pm:222 #, c-format msgid "CD/DVD burners" msgstr "Gravadors de CD/DVD" #: harddrake/data.pm:232 #, c-format msgid "DVD-ROM" msgstr "DVD-ROM" #: harddrake/data.pm:242 #, c-format msgid "Tape" msgstr "Cinta" #: harddrake/data.pm:253 #, c-format msgid "AGP controllers" msgstr "Controladors AGP" #: harddrake/data.pm:262 #, c-format msgid "Videocard" msgstr "Targeta de vídeo" #: harddrake/data.pm:271 #, c-format msgid "DVB card" msgstr "Targeta DVB" #: harddrake/data.pm:279 #, c-format msgid "Tvcard" msgstr "Targeta de TV" #: harddrake/data.pm:289 #, c-format msgid "Other MultiMedia devices" msgstr "Altres sispositius multimèdia" #: harddrake/data.pm:298 #, c-format msgid "Soundcard" msgstr "Targeta de so" #: harddrake/data.pm:312 #, c-format msgid "Webcam" msgstr "Webcam" #: harddrake/data.pm:327 #, c-format msgid "Processors" msgstr "Processadors" #: harddrake/data.pm:337 #, c-format msgid "ISDN adapters" msgstr "Adaptadors XDSI" #: harddrake/data.pm:348 #, c-format msgid "USB sound devices" msgstr "Dispositius de so USB" #: harddrake/data.pm:357 #, c-format msgid "Radio cards" msgstr "Targetes de ràdio" #: harddrake/data.pm:366 #, c-format msgid "ATM network cards" msgstr "Targetes de xarxa ATM" #: harddrake/data.pm:375 #, c-format msgid "WAN network cards" msgstr "Targetes de xarxa WAN" #: harddrake/data.pm:384 #, c-format msgid "Bluetooth devices" msgstr "Dispositius Bluetooth" #: harddrake/data.pm:393 #, c-format msgid "Ethernetcard" msgstr "Targeta Ethernet" #: harddrake/data.pm:410 #, c-format msgid "Modem" msgstr "Mòdem" #: harddrake/data.pm:420 #, c-format msgid "ADSL adapters" msgstr "Adaptadors ADSL" #: harddrake/data.pm:432 #, c-format msgid "Memory" msgstr "Memòria" #: harddrake/data.pm:441 #, c-format msgid "Printer" msgstr "Impressora" #. -PO: these are joysticks controllers: #: harddrake/data.pm:455 #, c-format msgid "Game port controllers" msgstr "Ports de controladors per jocs" #: harddrake/data.pm:464 #, c-format msgid "Joystick" msgstr "Palanca de jocs" #: harddrake/data.pm:474 #, c-format msgid "Keyboard" msgstr "Teclat" #: harddrake/data.pm:488 #, c-format msgid "Tablet and touchscreen" msgstr "" #: harddrake/data.pm:497 #, c-format msgid "Mouse" msgstr "Ratolí" #: harddrake/data.pm:512 #, c-format msgid "Biometry" msgstr "" #: harddrake/data.pm:520 #, c-format msgid "UPS" msgstr "SAI" #: harddrake/data.pm:529 #, c-format msgid "Scanner" msgstr "Escàner" #: harddrake/data.pm:540 #, c-format msgid "Unknown/Others" msgstr "Desconegut/Altres" #: harddrake/data.pm:570 #, c-format msgid "cpu # " msgstr "CPU #" #: harddrake/sound.pm:303 #, c-format msgid "Please Wait... Applying the configuration" msgstr "Espereu si us plau... s'està aplicant la configuració" #: harddrake/sound.pm:366 #, c-format msgid "Enable PulseAudio" msgstr "" #: harddrake/sound.pm:370 #, c-format msgid "Enable 5.1 sound with Pulse Audio" msgstr "" #: harddrake/sound.pm:375 #, c-format msgid "Enable user switching for audio applications" msgstr "" #: harddrake/sound.pm:379 #, c-format msgid "Use Glitch-Free mode" msgstr "" #: harddrake/sound.pm:385 #, c-format msgid "Reset sound mixer to default values" msgstr "" #: harddrake/sound.pm:390 #, c-format msgid "Troubleshooting" msgstr "Resolució de problemes" #: harddrake/sound.pm:397 #, c-format msgid "No alternative driver" msgstr "No hi ha cap controlador alternatiu" #: harddrake/sound.pm:398 #, c-format msgid "" "There's no known OSS/ALSA alternative driver for your sound card (%s) which " "currently uses \"%s\"" msgstr "" "No hi ha cap controlador OSS/ALSA alternatiu conegut per a la vostra targeta " "de so (%s), que actualment fa servir \"%s\"" #: harddrake/sound.pm:405 #, c-format msgid "Sound configuration" msgstr "Configuració de so" #: harddrake/sound.pm:407 #, c-format msgid "" "Here you can select an alternative driver (either OSS or ALSA) for your " "sound card (%s)." msgstr "" "Aquí podeu seleccionar un controlador alternatiu (tant OSS com ALSA) per ala " "targeta de so (%s)" #. -PO: here the first %s is either "OSS" or "ALSA", #. -PO: the second %s is the name of the current driver #. -PO: and the third %s is the name of the default driver #: harddrake/sound.pm:412 #, fuzzy, c-format msgid "" "\n" "\n" "Your card currently uses the %s\"%s\" driver (the default driver for your " "card is \"%s\")" msgstr "" "\n" "\n" "La vostra targeta fa servir actualment el controlador %s \"%s\" (el " "controlador per defecte per a aquesta targeta és \"%s\")" #: harddrake/sound.pm:414 #, c-format msgid "" "OSS (Open Sound System) was the first sound API. It's an OS independent " "sound API (it's available on most UNIX(tm) systems) but it's a very basic " "and limited API.\n" "What's more, OSS drivers all reinvent the wheel.\n" "\n" "ALSA (Advanced Linux Sound Architecture) is a modularized architecture " "which\n" "supports quite a large range of ISA, USB and PCI cards.\n" "\n" "It also provides a much higher API than OSS.\n" "\n" "To use alsa, one can either use:\n" "- the old compatibility OSS API\n" "- the new ALSA API that provides many enhanced features but requires using " "the ALSA library.\n" msgstr "" "L'OSS (Sistema de So Obert) va ser la primera API de so. És una API " "independent del sistema operatiu (disponible en molts sistemes UNIX(tm)) " "però és molt bàsica i limitada.\n" "Encara més, tots els controladors OSS reinventen la roda.\n" "\n" "L'ALSA (Arquitectura Avançada de So per a Linux) és una arquitectura modular " "que\n" "funciona amb una àmplia varietat de targetes ISA, USB i PCI.\n" "\n" "També proporciona una API molt més funcional que la d'OSS.\n" "\n" "Per utilitzar alsa, es pot triar entre:\n" "- l'antiga API compatible d'OSS\n" "- la nova API d'ALSA que proporciona moltes característiques millorades però " "que necessita fer servir la llibreria ALSA.\n" #: harddrake/sound.pm:428 harddrake/sound.pm:511 #, c-format msgid "Driver:" msgstr "Controlador:" #: harddrake/sound.pm:442 #, c-format msgid "" "The old \"%s\" driver is blacklisted.\n" "\n" "It has been reported to oops the kernel on unloading.\n" "\n" "The new \"%s\" driver will only be used on next bootstrap." msgstr "" "L'antic controlador \"%s\" ha estat desaprovat.\n" "\n" "S'ha vist que causa problemes al nucli en descarregar-se.\n" "\n" "El nou controlador \"%s\" només s'usarà en la següent arrencada." #: harddrake/sound.pm:450 #, c-format msgid "No open source driver" msgstr "No hi ha cap programa de control de codi obert" #: harddrake/sound.pm:451 #, c-format msgid "" "There's no free driver for your sound card (%s), but there's a proprietary " "driver at \"%s\"." msgstr "" "No hi ha cap programa de control gratuït per a la vostra targeta de so (%s), " "però n'hi ha un de propietat a \"%s\"." #: harddrake/sound.pm:454 #, c-format msgid "No known driver" msgstr "No hi ha cap controlador conegut" #: harddrake/sound.pm:455 #, c-format msgid "There's no known driver for your sound card (%s)" msgstr "No hi ha cap controlador conegut per a la vostra targeta de so (%s)" #: harddrake/sound.pm:470 #, c-format msgid "Sound troubleshooting" msgstr "Resolució de problemes amb el so" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: harddrake/sound.pm:473 #, c-format msgid "" "The classic bug sound tester is to run the following commands:\n" "\n" "\n" "- \"lspcidrake -v | fgrep -i AUDIO\" will tell you which driver your card " "uses\n" "by default\n" "\n" "- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n" "currently uses\n" "\n" "- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n" "loaded or not\n" "\n" "- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n" "tell you if sound and alsa services are configured to be run on\n" "initlevel 3\n" "\n" "- \"aumix -q\" will tell you if the sound volume is muted or not\n" "\n" "- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n" msgstr "" "El comprovador de sons d'error clàssic pot executar les ordres següents:\n" "\n" "\n" "- \"lspcidrake -v | fgrep -i AUDIO\" us dirà el programa de control que la\n" "vostra targeta utilitza per defecte\n" "\n" "- \"grep sound-slot /etc/modprobe.conf\" us dirà el programa de control\n" "que està utilitzant actualment\n" "\n" "- \"/sbin/lsmod\" us permetrà comprovar si el seu mòdul (programa de\n" "control) està carregat o no\n" "\n" "- \"/sbin/chkconfig --list sound\" i \"/sbin/chkconfig --list alsa\" us\n" "diran si els serveis de so i alsa estan configurats per executar-se en\n" "initlevel 3\n" "\n" "- \"aumix -q\" us dirà si el so està silenciat o no\n" "\n" "- \"/sbin/fuser -v /dev/dsp\" us dirà quin programa utilitza la targeta de " "so.\n" #: harddrake/sound.pm:500 #, c-format msgid "Let me pick any driver" msgstr "Deixa'm agafar qualsevol programa de control" #: harddrake/sound.pm:503 #, c-format msgid "Choosing an arbitrary driver" msgstr "Selecció d'un programa de control arbitrari" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: harddrake/sound.pm:506 #, c-format msgid "" "If you really think that you know which driver is the right one for your " "card\n" "you can pick one from the above list.\n" "\n" "The current driver for your \"%s\" sound card is \"%s\" " msgstr "" "Si esteu segur de saber quin és el programa de control correcte per a la\n" "vostra targeta, en podeu seleccionar un de la llista superior.\n" "\n" "El programa de control actual per a la vostra targeta \"%s\" és \"%s\" " #: harddrake/v4l.pm:12 #, c-format msgid "Auto-detect" msgstr "Detecció automàtica" #: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337 #, c-format msgid "Unknown|Generic" msgstr "Desconegut|Genèric" #: harddrake/v4l.pm:130 #, c-format msgid "Unknown|CPH05X (bt878) [many vendors]" msgstr "Desconegut|CPH05X (bt878) [molts venedors]" #: harddrake/v4l.pm:131 #, c-format msgid "Unknown|CPH06X (bt878) [many vendors]" msgstr "Desconegut|CPH06X (bt878) [molts venedors]" #: harddrake/v4l.pm:475 #, c-format msgid "" "For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-" "detect the rights parameters.\n" "If your card is misdetected, you can force the right tuner and card types " "here. Just select your tv card parameters if needed." msgstr "" "Per a les targetes de TV més modernes, el mòdul bttv del nucli GNU/Linux " "detecta automàticament els paràmetres correctes.\n" "Si la vostra targeta no és detectada, podeu forçar el tipus de sintonitzador " "i de targeta aquí. Simplement seleccioneu els paràmetres necessaris per a la " "vostra targeta de TV" #: harddrake/v4l.pm:478 #, c-format msgid "Card model:" msgstr "Model de la targeta:" #: harddrake/v4l.pm:479 #, c-format msgid "Tuner type:" msgstr "Tipus de sintonitzador:" #: interactive.pm:128 interactive.pm:549 interactive/curses.pm:263 #: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39 #: interactive/stdio.pm:148 interactive/stdio.pm:149 mygtk2.pm:847 #: ugtk2.pm:421 ugtk2.pm:519 ugtk2.pm:812 ugtk2.pm:835 #, c-format msgid "Ok" msgstr "D'acord" #: interactive.pm:228 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:156 #, c-format msgid "Yes" msgstr "Sí" #: interactive.pm:228 modules/interactive.pm:72 ugtk2.pm:811 wizards.pm:156 #, c-format msgid "No" msgstr "No" #: interactive.pm:262 #, c-format msgid "Choose a file" msgstr "Trieu un fitxer" #: interactive.pm:387 interactive/gtk.pm:453 #, c-format msgid "Add" msgstr "Afegeix" #: interactive.pm:387 interactive/gtk.pm:453 #, c-format msgid "Modify" msgstr "Modifica" #: interactive.pm:549 interactive/curses.pm:263 ugtk2.pm:519 #, c-format msgid "Finish" msgstr "Fi" #: interactive.pm:550 interactive/curses.pm:260 ugtk2.pm:517 #, c-format msgid "Previous" msgstr "Anterior" #: interactive/curses.pm:556 ugtk2.pm:872 #, c-format msgid "No file chosen" msgstr "Cap fitxer escollit" #: interactive/curses.pm:560 ugtk2.pm:876 #, c-format msgid "You have chosen a directory, not a file" msgstr "Heu escollit un directori, no un fitxer" #: interactive/curses.pm:562 ugtk2.pm:878 #, c-format msgid "No such directory" msgstr "No és un directori" #: interactive/curses.pm:562 ugtk2.pm:878 #, c-format msgid "No such file" msgstr "No hi ha fitxer" #: interactive/gtk.pm:594 #, c-format msgid "Beware, Caps Lock is enabled" msgstr "" #: interactive/stdio.pm:29 interactive/stdio.pm:154 #, c-format msgid "Bad choice, try again\n" msgstr "Elecció incorrecta, torneu-ho a intentar\n" #: interactive/stdio.pm:30 interactive/stdio.pm:155 #, c-format msgid "Your choice? (default %s) " msgstr "Quina és la vostra elecció? (predeterminat %s)" #: interactive/stdio.pm:54 #, c-format msgid "" "Entries you'll have to fill:\n" "%s" msgstr "" "Entrades que heu d'emplenar:\n" "%s" #: interactive/stdio.pm:70 #, c-format msgid "Your choice? (0/1, default `%s') " msgstr "Quina és la vostra elecció? (0/1, predeterminat '%s')" #: interactive/stdio.pm:97 #, c-format msgid "Button `%s': %s" msgstr "Botó '%s': %s" #: interactive/stdio.pm:98 #, c-format msgid "Do you want to click on this button?" msgstr "Voleu fer clic en aquest botó?" #: interactive/stdio.pm:110 #, c-format msgid "Your choice? (default `%s'%s) " msgstr "Quina és la vostra elecció? (predeterminat '%s'%s)" #: interactive/stdio.pm:110 #, c-format msgid " enter `void' for void entry" msgstr " entreu 'void' per entrada buida" #: interactive/stdio.pm:128 #, c-format msgid "=> There are many things to choose from (%s).\n" msgstr "=> Hi ha moltes coses per escollir de (%s).\n" #: interactive/stdio.pm:131 #, c-format msgid "" "Please choose the first number of the 10-range you wish to edit,\n" "or just hit Enter to proceed.\n" "Your choice? " msgstr "" "Si us plau, escolliu el primer número del rang 10 que voleu editar,\n" "o premeu Retorn per continuar.\n" "Què trieu? " #: interactive/stdio.pm:144 #, c-format msgid "" "=> Notice, a label changed:\n" "%s" msgstr "" "=> Avís, una etiqueta ha canviat:\n" "%s" #: interactive/stdio.pm:151 #, c-format msgid "Re-submit" msgstr "Torna a enviar" #. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR" #. -PO: or as "default:RTL", depending if your language is written from #. -PO: left to right, or from right to left; any other string is wrong. #: lang.pm:203 #, c-format msgid "default:LTR" msgstr "default:LTR" #: lang.pm:220 #, c-format msgid "Andorra" msgstr "Andorra" #: lang.pm:221 timezone.pm:226 #, c-format msgid "United Arab Emirates" msgstr "Unió dels Emirats Àrabs" #: lang.pm:222 #, c-format msgid "Afghanistan" msgstr "Afganistan" #: lang.pm:223 #, c-format msgid "Antigua and Barbuda" msgstr "Antigua i Barbuda" #: lang.pm:224 #, c-format msgid "Anguilla" msgstr "Anguilla" #: lang.pm:225 #, c-format msgid "Albania" msgstr "Albània" #: lang.pm:226 #, c-format msgid "Armenia" msgstr "Armènia" #: lang.pm:227 #, c-format msgid "Netherlands Antilles" msgstr "Antilles Holandeses" #: lang.pm:228 #, c-format msgid "Angola" msgstr "Angola" #: lang.pm:229 #, c-format msgid "Antarctica" msgstr "Antàrtida" #: lang.pm:230 timezone.pm:271 #, c-format msgid "Argentina" msgstr "Argentina" #: lang.pm:231 #, c-format msgid "American Samoa" msgstr "Samoa Americana" #: lang.pm:232 mirror.pm:12 timezone.pm:229 #, c-format msgid "Austria" msgstr "Àustria" #: lang.pm:233 mirror.pm:11 timezone.pm:267 #, c-format msgid "Australia" msgstr "Austràlia" #: lang.pm:234 #, c-format msgid "Aruba" msgstr "Aruba" #: lang.pm:235 #, c-format msgid "Azerbaijan" msgstr "Azerbaitjan" #: lang.pm:236 #, c-format msgid "Bosnia and Herzegovina" msgstr "Bòsnia i Hercegovina" #: lang.pm:237 #, c-format msgid "Barbados" msgstr "Barbados" #: lang.pm:238 timezone.pm:211 #, c-format msgid "Bangladesh" msgstr "Bangladesh" #: lang.pm:239 mirror.pm:13 timezone.pm:231 #, c-format msgid "Belgium" msgstr "Bèlgica" #: lang.pm:240 #, c-format msgid "Burkina Faso" msgstr "Burkina Faso" #: lang.pm:241 timezone.pm:232 #, c-format msgid "Bulgaria" msgstr "Bulgària" #: lang.pm:242 #, c-format msgid "Bahrain" msgstr "Bahrain" #: lang.pm:243 #, c-format msgid "Burundi" msgstr "Burundi" #: lang.pm:244 #, c-format msgid "Benin" msgstr "Benín" #: lang.pm:245 #, c-format msgid "Bermuda" msgstr "Bermuda" #: lang.pm:246 #, c-format msgid "Brunei Darussalam" msgstr "Brunei" #: lang.pm:247 #, c-format msgid "Bolivia" msgstr "Bolívia" #: lang.pm:248 mirror.pm:14 timezone.pm:272 #, c-format msgid "Brazil" msgstr "Brasil" #: lang.pm:249 #, c-format msgid "Bahamas" msgstr "Bahames" #: lang.pm:250 #, c-format msgid "Bhutan" msgstr "Bhutan" #: lang.pm:251 #, c-format msgid "Bouvet Island" msgstr "Illa Bouvet" #: lang.pm:252 #, c-format msgid "Botswana" msgstr "Botswana" #: lang.pm:253 timezone.pm:230 #, c-format msgid "Belarus" msgstr "Bielorrússia" #: lang.pm:254 #, c-format msgid "Belize" msgstr "Belize" #: lang.pm:255 mirror.pm:15 timezone.pm:261 #, c-format msgid "Canada" msgstr "Canadà" #: lang.pm:256 #, c-format msgid "Cocos (Keeling) Islands" msgstr "Illes Cocos (Keeling)" #: lang.pm:257 #, c-format msgid "Congo (Kinshasa)" msgstr "Congo (Kinshasa)" #: lang.pm:258 #, c-format msgid "Central African Republic" msgstr "República Centrefricana" #: lang.pm:259 #, c-format msgid "Congo (Brazzaville)" msgstr "Congo (Brazzaville)" #: lang.pm:260 mirror.pm:39 timezone.pm:255 #, c-format msgid "Switzerland" msgstr "Suïssa" #: lang.pm:261 #, c-format msgid "Cote d'Ivoire" msgstr "Costa d'Ivori" #: lang.pm:262 #, c-format msgid "Cook Islands" msgstr "Illes Cook" #: lang.pm:263 timezone.pm:273 #, c-format msgid "Chile" msgstr "Xile" #: lang.pm:264 #, c-format msgid "Cameroon" msgstr "Camerun" #: lang.pm:265 timezone.pm:212 #, c-format msgid "China" msgstr "Xina" #: lang.pm:266 #, c-format msgid "Colombia" msgstr "Colòmbia" #: lang.pm:267 mirror.pm:16 #, c-format msgid "Costa Rica" msgstr "Costa Rica" #: lang.pm:268 #, c-format msgid "Serbia & Montenegro" msgstr "Sèrbia i Montenegro" #: lang.pm:269 #, c-format msgid "Cuba" msgstr "Cuba" #: lang.pm:270 #, c-format msgid "Cape Verde" msgstr "Cap Verd" #: lang.pm:271 #, c-format msgid "Christmas Island" msgstr "Illa Christmas" #: lang.pm:272 #, c-format msgid "Cyprus" msgstr "Xipre" #: lang.pm:273 mirror.pm:17 timezone.pm:233 #, c-format msgid "Czech Republic" msgstr "República Txeca" #: lang.pm:274 mirror.pm:22 timezone.pm:238 #, c-format msgid "Germany" msgstr "Alemanya" #: lang.pm:275 #, c-format msgid "Djibouti" msgstr "Djibouti" #: lang.pm:276 mirror.pm:18 timezone.pm:234 #, c-format msgid "Denmark" msgstr "Dinamarca" #: lang.pm:277 #, c-format msgid "Dominica" msgstr "Dominica" #: lang.pm:278 #, c-format msgid "Dominican Republic" msgstr "República Dominicana" #: lang.pm:279 #, c-format msgid "Algeria" msgstr "Algèria" #: lang.pm:280 #, c-format msgid "Ecuador" msgstr "Equador" #: lang.pm:281 mirror.pm:19 timezone.pm:235 #, c-format msgid "Estonia" msgstr "Estònia" #: lang.pm:282 #, c-format msgid "Egypt" msgstr "Egipte" #: lang.pm:283 #, c-format msgid "Western Sahara" msgstr "Sàhara Occidental" #: lang.pm:284 #, c-format msgid "Eritrea" msgstr "Eritrea" #: lang.pm:285 mirror.pm:37 timezone.pm:253 #, c-format msgid "Spain" msgstr "Espanya" #: lang.pm:286 #, c-format msgid "Ethiopia" msgstr "Etiòpia" #: lang.pm:287 mirror.pm:20 timezone.pm:236 #, c-format msgid "Finland" msgstr "Finlàndia" #: lang.pm:288 #, c-format msgid "Fiji" msgstr "Fiji" #: lang.pm:289 #, c-format msgid "Falkland Islands (Malvinas)" msgstr "Illes Malvines (Falkland)" #: lang.pm:290 #, c-format msgid "Micronesia" msgstr "Micronèsia" #: lang.pm:291 #, c-format msgid "Faroe Islands" msgstr "Illes Fèroe" #: lang.pm:292 mirror.pm:21 timezone.pm:237 #, c-format msgid "France" msgstr "França" #: lang.pm:293 #, c-format msgid "Gabon" msgstr "Gabon" #: lang.pm:294 timezone.pm:257 #, c-format msgid "United Kingdom" msgstr "Regne Unit" #: lang.pm:295 #, c-format msgid "Grenada" msgstr "Grenada" #: lang.pm:296 #, c-format msgid "Georgia" msgstr "Geòrgia" #: lang.pm:297 #, c-format msgid "French Guiana" msgstr "Guaiana Francesa" #: lang.pm:298 #, c-format msgid "Ghana" msgstr "Ghana" #: lang.pm:299 #, c-format msgid "Gibraltar" msgstr "Gibraltar" #: lang.pm:300 #, c-format msgid "Greenland" msgstr "Groenlàndia" #: lang.pm:301 #, c-format msgid "Gambia" msgstr "Gàmbia" #: lang.pm:302 #, c-format msgid "Guinea" msgstr "Guinea" #: lang.pm:303 #, c-format msgid "Guadeloupe" msgstr "Guadalupe" #: lang.pm:304 #, c-format msgid "Equatorial Guinea" msgstr "Guinea Equatorial" #: lang.pm:305 mirror.pm:23 timezone.pm:239 #, c-format msgid "Greece" msgstr "Grècia" #: lang.pm:306 #, c-format msgid "South Georgia and the South Sandwich Islands" msgstr "Illes Geòrgia del Sud i Sandwich del Sud" #: lang.pm:307 timezone.pm:262 #, c-format msgid "Guatemala" msgstr "Guatemala" #: lang.pm:308 #, c-format msgid "Guam" msgstr "Guam" #: lang.pm:309 #, c-format msgid "Guinea-Bissau" msgstr "Guinea Bissau" #: lang.pm:310 #, c-format msgid "Guyana" msgstr "Guyana" #: lang.pm:311 #, c-format msgid "Hong Kong SAR (China)" msgstr "Xina (Hong Kong)" #: lang.pm:312 #, c-format msgid "Heard and McDonald Islands" msgstr "Illa Heard i Illes McDonald" #: lang.pm:313 #, c-format msgid "Honduras" msgstr "Hondures" #: lang.pm:314 #, c-format msgid "Croatia" msgstr "Croàcia" #: lang.pm:315 #, c-format msgid "Haiti" msgstr "Haití" #: lang.pm:316 mirror.pm:24 timezone.pm:240 #, c-format msgid "Hungary" msgstr "Hongria" #: lang.pm:317 timezone.pm:215 #, c-format msgid "Indonesia" msgstr "Indonèsia" #: lang.pm:318 mirror.pm:25 timezone.pm:241 #, c-format msgid "Ireland" msgstr "Irlanda" #: lang.pm:319 mirror.pm:26 timezone.pm:217 #, c-format msgid "Israel" msgstr "Israel" #: lang.pm:320 timezone.pm:214 #, c-format msgid "India" msgstr "Índia" #: lang.pm:321 #, c-format msgid "British Indian Ocean Territory" msgstr "Territori Britànic de l'Oceà Índic" #: lang.pm:322 #, c-format msgid "Iraq" msgstr "Iraq" #: lang.pm:323 timezone.pm:216 #, c-format msgid "Iran" msgstr "Iran" #: lang.pm:324 #, c-format msgid "Iceland" msgstr "Islàndia" #: lang.pm:325 mirror.pm:27 timezone.pm:242 #, c-format msgid "Italy" msgstr "Itàlia" #: lang.pm:326 #, c-format msgid "Jamaica" msgstr "Jamaica" #: lang.pm:327 #, c-format msgid "Jordan" msgstr "Jordània" #: lang.pm:328 mirror.pm:28 timezone.pm:218 #, c-format msgid "Japan" msgstr "Japó" #: lang.pm:329 #, c-format msgid "Kenya" msgstr "Kenya" #: lang.pm:330 #, c-format msgid "Kyrgyzstan" msgstr "Kirguizistan" #: lang.pm:331 #, c-format msgid "Cambodia" msgstr "Cambodja" #: lang.pm:332 #, c-format msgid "Kiribati" msgstr "Kiribati" #: lang.pm:333 #, c-format msgid "Comoros" msgstr "Comores" #: lang.pm:334 #, c-format msgid "Saint Kitts and Nevis" msgstr "Saint Christopher i Nevis" #: lang.pm:335 #, c-format msgid "Korea (North)" msgstr "Corea (Nord)" #: lang.pm:336 timezone.pm:219 #, c-format msgid "Korea" msgstr "Corea" #: lang.pm:337 #, c-format msgid "Kuwait" msgstr "Kuwait" #: lang.pm:338 #, c-format msgid "Cayman Islands" msgstr "Illes Caiman" #: lang.pm:339 #, c-format msgid "Kazakhstan" msgstr "Kazakhstan" #: lang.pm:340 #, c-format msgid "Laos" msgstr "Laos" #: lang.pm:341 #, c-format msgid "Lebanon" msgstr "Líban" #: lang.pm:342 #, c-format msgid "Saint Lucia" msgstr "Saint Lucia" #: lang.pm:343 #, c-format msgid "Liechtenstein" msgstr "Liechtenstein" #: lang.pm:344 #, c-format msgid "Sri Lanka" msgstr "Sri Lanka" #: lang.pm:345 #, c-format msgid "Liberia" msgstr "Libèria" #: lang.pm:346 #, c-format msgid "Lesotho" msgstr "Lesotho" #: lang.pm:347 timezone.pm:243 #, c-format msgid "Lithuania" msgstr "Lituània" #: lang.pm:348 timezone.pm:244 #, c-format msgid "Luxembourg" msgstr "Luxemburg" #: lang.pm:349 #, c-format msgid "Latvia" msgstr "Letònia" #: lang.pm:350 #, c-format msgid "Libya" msgstr "Líbia" #: lang.pm:351 #, c-format msgid "Morocco" msgstr "Marroc" #: lang.pm:352 #, c-format msgid "Monaco" msgstr "Mònaco" #: lang.pm:353 #, c-format msgid "Moldova" msgstr "Moldàvia" #: lang.pm:354 #, c-format msgid "Madagascar" msgstr "Madagascar" #: lang.pm:355 #, c-format msgid "Marshall Islands" msgstr "Illes Marshall" #: lang.pm:356 #, c-format msgid "Macedonia" msgstr "Macedònia" #: lang.pm:357 #, c-format msgid "Mali" msgstr "Mali" #: lang.pm:358 #, c-format msgid "Myanmar" msgstr "Myanmar" #: lang.pm:359 #, c-format msgid "Mongolia" msgstr "Mongòlia" #: lang.pm:360 #, c-format msgid "Northern Mariana Islands" msgstr "Illes Marianes del Nord" #: lang.pm:361 #, c-format msgid "Martinique" msgstr "Martinica" #: lang.pm:362 #, c-format msgid "Mauritania" msgstr "Mauritània" #: lang.pm:363 #, c-format msgid "Montserrat" msgstr "Montserrat" #: lang.pm:364 #, c-format msgid "Malta" msgstr "Malta" #: lang.pm:365 #, c-format msgid "Mauritius" msgstr "Maurici" #: lang.pm:366 #, c-format msgid "Maldives" msgstr "Maldives" #: lang.pm:367 #, c-format msgid "Malawi" msgstr "Malawi" #: lang.pm:368 timezone.pm:263 #, c-format msgid "Mexico" msgstr "Mèxic" #: lang.pm:369 timezone.pm:220 #, c-format msgid "Malaysia" msgstr "Malàisia" #: lang.pm:370 #, c-format msgid "Mozambique" msgstr "Moçambic" #: lang.pm:371 #, c-format msgid "Namibia" msgstr "Namíbia" #: lang.pm:372 #, c-format msgid "New Caledonia" msgstr "Nova Caledònia" #: lang.pm:373 #, c-format msgid "Niger" msgstr "Níger" #: lang.pm:374 #, c-format msgid "Norfolk Island" msgstr "Illa Norfolk" #: lang.pm:375 #, c-format msgid "Nigeria" msgstr "Nigèria" #: lang.pm:376 #, c-format msgid "Nicaragua" msgstr "Nicaragua" #: lang.pm:377 mirror.pm:29 timezone.pm:245 #, c-format msgid "Netherlands" msgstr "Països Baixos" #: lang.pm:378 mirror.pm:31 timezone.pm:246 #, c-format msgid "Norway" msgstr "Noruega" #: lang.pm:379 #, c-format msgid "Nepal" msgstr "Nepal" #: lang.pm:380 #, c-format msgid "Nauru" msgstr "Nauru" #: lang.pm:381 #, c-format msgid "Niue" msgstr "Niue" #: lang.pm:382 mirror.pm:30 timezone.pm:268 #, c-format msgid "New Zealand" msgstr "Nova Zelanda" #: lang.pm:383 #, c-format msgid "Oman" msgstr "Oman" #: lang.pm:384 #, c-format msgid "Panama" msgstr "Panamà" #: lang.pm:385 #, c-format msgid "Peru" msgstr "Perú" #: lang.pm:386 #, c-format msgid "French Polynesia" msgstr "Polinèsia francesa" #: lang.pm:387 #, c-format msgid "Papua New Guinea" msgstr "Papua Nova Guinea" #: lang.pm:388 timezone.pm:221 #, c-format msgid "Philippines" msgstr "Filipines" #: lang.pm:389 #, c-format msgid "Pakistan" msgstr "Pakistan" #: lang.pm:390 mirror.pm:32 timezone.pm:247 #, c-format msgid "Poland" msgstr "Polònia" #: lang.pm:391 #, c-format msgid "Saint Pierre and Miquelon" msgstr "Saint Pierre i Miquelon" #: lang.pm:392 #, c-format msgid "Pitcairn" msgstr "Pitcairn" #: lang.pm:393 #, c-format msgid "Puerto Rico" msgstr "Puerto Rico" #: lang.pm:394 #, c-format msgid "Palestine" msgstr "Palestina" #: lang.pm:395 mirror.pm:33 timezone.pm:248 #, c-format msgid "Portugal" msgstr "Portugal" #: lang.pm:396 #, c-format msgid "Paraguay" msgstr "Paraguai" #: lang.pm:397 #, c-format msgid "Palau" msgstr "Palau" #: lang.pm:398 #, c-format msgid "Qatar" msgstr "Qatar" #: lang.pm:399 #, c-format msgid "Reunion" msgstr "Reunion" #: lang.pm:400 timezone.pm:249 #, c-format msgid "Romania" msgstr "Romania" #: lang.pm:401 mirror.pm:34 #, c-format msgid "Russia" msgstr "Rússia" #: lang.pm:402 #, c-format msgid "Rwanda" msgstr "Rwanda" #: lang.pm:403 #, c-format msgid "Saudi Arabia" msgstr "Aràbia Saudita" #: lang.pm:404 #, c-format msgid "Solomon Islands" msgstr "Illes Salomó" #: lang.pm:405 #, c-format msgid "Seychelles" msgstr "Seychelles" #: lang.pm:406 #, c-format msgid "Sudan" msgstr "Sudan" #: lang.pm:407 mirror.pm:38 timezone.pm:254 #, c-format msgid "Sweden" msgstr "Suècia" #: lang.pm:408 timezone.pm:222 #, c-format msgid "Singapore" msgstr "Singapur" #: lang.pm:409 #, c-format msgid "Saint Helena" msgstr "Saint Helena" #: lang.pm:410 timezone.pm:252 #, c-format msgid "Slovenia" msgstr "Eslovènia" #: lang.pm:411 #, c-format msgid "Svalbard and Jan Mayen Islands" msgstr "Illes Svalbard i Jan Mayen" #: lang.pm:412 mirror.pm:35 timezone.pm:251 #, c-format msgid "Slovakia" msgstr "Eslovàquia" #: lang.pm:413 #, c-format msgid "Sierra Leone" msgstr "Sierra Leone" #: lang.pm:414 #, c-format msgid "San Marino" msgstr "San Marino" #: lang.pm:415 #, c-format msgid "Senegal" msgstr "Senegal" #: lang.pm:416 #, c-format msgid "Somalia" msgstr "Somàlia" #: lang.pm:417 #, c-format msgid "Suriname" msgstr "Surinam" #: lang.pm:418 #, c-format msgid "Sao Tome and Principe" msgstr "Sao Tome i Príncipe" #: lang.pm:419 #, c-format msgid "El Salvador" msgstr "El Salvador" #: lang.pm:420 #, c-format msgid "Syria" msgstr "Síria" #: lang.pm:421 #, c-format msgid "Swaziland" msgstr "Swazilàndia" #: lang.pm:422 #, c-format msgid "Turks and Caicos Islands" msgstr "Illes Turks i Caicos" #: lang.pm:423 #, c-format msgid "Chad" msgstr "Txad" #: lang.pm:424 #, c-format msgid "French Southern Territories" msgstr "Territoris francesos del Sud" #: lang.pm:425 #, c-format msgid "Togo" msgstr "Togo" #: lang.pm:426 mirror.pm:41 timezone.pm:224 #, c-format msgid "Thailand" msgstr "Tailàndia" #: lang.pm:427 #, c-format msgid "Tajikistan" msgstr "Tadjikistan" #: lang.pm:428 #, c-format msgid "Tokelau" msgstr "Tokelau" #: lang.pm:429 #, c-format msgid "East Timor" msgstr "Timor Oriental" #: lang.pm:430 #, c-format msgid "Turkmenistan" msgstr "Turkmenistan" #: lang.pm:431 #, c-format msgid "Tunisia" msgstr "Tunísia" #: lang.pm:432 #, c-format msgid "Tonga" msgstr "Tonga" #: lang.pm:433 timezone.pm:225 #, c-format msgid "Turkey" msgstr "Turquia" #: lang.pm:434 #, c-format msgid "Trinidad and Tobago" msgstr "Trinitat i Tobago" #: lang.pm:435 #, c-format msgid "Tuvalu" msgstr "Tuvalu" #: lang.pm:436 mirror.pm:40 timezone.pm:223 #, c-format msgid "Taiwan" msgstr "Taiwan" #: lang.pm:437 timezone.pm:208 #, c-format msgid "Tanzania" msgstr "Tanzània" #: lang.pm:438 timezone.pm:256 #, c-format msgid "Ukraine" msgstr "Ucraïna" #: lang.pm:439 #, c-format msgid "Uganda" msgstr "Uganda" #: lang.pm:440 #, c-format msgid "United States Minor Outlying Islands" msgstr "Illes Perifèriques Menors dels EUA" #: lang.pm:441 mirror.pm:42 timezone.pm:264 #, c-format msgid "United States" msgstr "Estats Units" #: lang.pm:442 #, c-format msgid "Uruguay" msgstr "Uruguai" #: lang.pm:443 #, c-format msgid "Uzbekistan" msgstr "Uzbekistan" #: lang.pm:444 #, c-format msgid "Vatican" msgstr "Vaticà" #: lang.pm:445 #, c-format msgid "Saint Vincent and the Grenadines" msgstr "Saint Vincent i les Grenadines" #: lang.pm:446 #, c-format msgid "Venezuela" msgstr "Veneçuela" #: lang.pm:447 #, c-format msgid "Virgin Islands (British)" msgstr "Illes Verge Britàniques" #: lang.pm:448 #, c-format msgid "Virgin Islands (U.S.)" msgstr "Illes Verge Americanes" #: lang.pm:449 #, c-format msgid "Vietnam" msgstr "Vietnam" #: lang.pm:450 #, c-format msgid "Vanuatu" msgstr "Vanuatu" #: lang.pm:451 #, c-format msgid "Wallis and Futuna" msgstr "Wallis i Futuna" #: lang.pm:452 #, c-format msgid "Samoa" msgstr "Samoa" #: lang.pm:453 #, c-format msgid "Yemen" msgstr "Iemen" #: lang.pm:454 #, c-format msgid "Mayotte" msgstr "Mayotte" #: lang.pm:455 mirror.pm:36 timezone.pm:207 #, c-format msgid "South Africa" msgstr "Sud-àfrica" #: lang.pm:456 #, c-format msgid "Zambia" msgstr "Zàmbia" #: lang.pm:457 #, c-format msgid "Zimbabwe" msgstr "Zimbabwe" #: lang.pm:1216 #, c-format msgid "Welcome to %s" msgstr "Benvingut a %s" #: lvm.pm:86 #, c-format msgid "Moving used physical extents to other physical volumes failed" msgstr "" #: lvm.pm:143 #, c-format msgid "Physical volume %s is still in use" msgstr "El volum físic %s encara està en ús" #: lvm.pm:153 #, c-format msgid "Remove the logical volumes first\n" msgstr "Elimineu primer els volums lògics\n" #: lvm.pm:186 #, fuzzy, c-format msgid "The bootloader can't handle /boot on multiple physical volumes" msgstr "" "El carregador d'arrencada no funciona amb /boot a diferents volums físics." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: messages.pm:11 #, fuzzy, c-format msgid "" "Introduction\n" "\n" "The operating system and the different components available in the Mageia " "Linux distribution \n" "shall be called the \"Software Products\" hereafter. The Software Products " "include, but are not \n" "restricted to, the set of programs, methods, rules and documentation related " "to the operating \n" "system and the different components of the Mageia Linux distribution, and " "any applications \n" "distributed with these products provided by Mageia's licensors or " "suppliers.\n" "\n" "\n" "1. License Agreement\n" "\n" "Please read this document carefully. This document is a license agreement " "between you and \n" "Mageia which applies to the Software Products.\n" "By installing, duplicating or using any of the Software Products in any " "manner, you explicitly \n" "accept and fully agree to conform to the terms and conditions of this " "License. \n" "If you disagree with any portion of the License, you are not allowed to " "install, duplicate or use \n" "the Software Products. \n" "Any attempt to install, duplicate or use the Software Products in a manner " "which does not comply \n" "with the terms and conditions of this License is void and will terminate " "your rights under this \n" "License. Upon termination of the License, you must immediately destroy all " "copies of the \n" "Software Products.\n" "\n" "\n" "2. Limited Warranty\n" "\n" "The Software Products and attached documentation are provided \"as is\", " "with no warranty, to the \n" "extent permitted by law.\n" "Neither Mageia nor its licensors or suppliers will, in any circumstances and " "to the extent \n" "permitted by law, be liable for any special, incidental, direct or indirect " "damages whatsoever \n" "(including without limitation damages for loss of business, interruption of " "business, financial \n" "loss, legal fees and penalties resulting from a court judgment, or any other " "consequential loss) \n" "arising out of the use or inability to use the Software Products, even if " "Mageia or its \n" "licensors or suppliers have been advised of the possibility or occurrence of " "such damages.\n" "\n" "LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME " "COUNTRIES\n" "\n" "To the extent permitted by law, neither Mageia nor its licensors, suppliers " "or\n" "distributors will, in any circumstances, be liable for any special, " "incidental, direct or indirect \n" "damages whatsoever (including without limitation damages for loss of " "business, interruption of \n" "business, financial loss, legal fees and penalties resulting from a court " "judgment, or any \n" "other consequential loss) arising out of the possession and use of software " "components or \n" "arising out of downloading software components from one of Mageia Linux " "sites which are \n" "prohibited or restricted in some countries by local laws.\n" "This limited liability applies to, but is not restricted to, the strong " "cryptography components \n" "included in the Software Products.\n" "However, because some jurisdictions do not allow the exclusion or limitation " "or liability for \n" "consequential or incidental damages, the above limitation may not apply to " "you. \n" "\n" "\n" "3. The GPL License and Related Licenses\n" "\n" "The Software Products consist of components created by different persons or " "entities.\n" "Most of these licenses allow you to use, duplicate, adapt or redistribute " "the components which \n" "they cover. Please read carefully the terms and conditions of the license " "agreement for each component \n" "before using any component. Any question on a component license should be " "addressed to the component \n" "licensor or supplier and not to Mageia.\n" "The programs developed by Mageia are governed by the GPL License. " "Documentation written \n" "by Mageia is governed by a specific license. Please refer to the " "documentation for \n" "further details.\n" "\n" "\n" "4. Intellectual Property Rights\n" "\n" "All rights to the components of the Software Products belong to their " "respective authors and are \n" "protected by intellectual property and copyright laws applicable to software " "programs.\n" "Mageia and its suppliers and licensors reserves their rights to modify or " "adapt the Software \n" "Products, as a whole or in parts, by all means and for all purposes.\n" "\"Mageia\", \"Mageia Linux\" and associated logos are trademarks of " "Mageia \n" "\n" "\n" "5. Governing Laws \n" "\n" "If any portion of this agreement is held void, illegal or inapplicable by a " "court judgment, this \n" "portion is excluded from this contract. You remain bound by the other " "applicable sections of the \n" "agreement.\n" "The terms and conditions of this License are governed by the Laws of " "France.\n" "All disputes on the terms of this license will preferably be settled out of " "court. As a last \n" "resort, the dispute will be referred to the appropriate Courts of Law of " "Paris - France.\n" "For any question on this document, please contact Mageia." msgstr "" "Introducció\n" "\n" "D'ara endavant, hom es referirà al sistema operatiu i als diferents\n" "components disponibles en la distribució Mageia Linux com als\n" "\"Productes de programari\". Els Productes de programari inclouen,\n" "però no estan restringits a, el conjunt de programes, mètoDES, regles\n" "i documentació relativa al sistema operatiu i els diferents\n" "components de la distribució Mageia Linux.\n" "\n" "\n" "1. Acord de llicència\n" "\n" "Si us plau, llegiu atentament aquest document. Aquest document és un\n" "acord de llicència entre la vostra persona i Mageia, que\n" "s'aplica als Productes de programari. Pel fet d'instal·lar, duplicar\n" "o utilitzar els Productes de programari en qualsevol forma esteu\n" "acceptant explícitament, i expressant el vostre acord a avenir-vos a\n" "les clàusules i condicions d'aquesta Llicència. Si no esteu d'acord\n" "amb qualsevol part de la Llicència, no esteu autoritzat a instal·lar,\n" "duplicar o utilitzar els Productes de programari. Qualsevol intent\n" "d'instal·lar, duplicar o utilitzar els Productes de programari en una\n" "forma que no s'adapti a les clàusules i condicions d'aquesta\n" "Llicència, és nul i finalitzarà els vostres drets sobre la mateixa.\n" "En finalitzar-se la Llicència, heu de destruir immediatament totes\n" "les còpies dels Productes de programari.\n" "\n" "\n" "2. Garantia limitada\n" "\n" "Els Productes de programari i documentació adjunta es subministren\n" "\"tal com són\", sense cap garantia, fins al punt permés per la llei.\n" "Mageia no serà, sota cap circumstància, i fins al punt\n" "permés per la llei, responsable de cap dany especial, incidental ni\n" "directe (incloent, sense limitar-se a, els danys per pèrdua de\n" "negocis, interrupció de negocis, pèrdues financeres, multes i costes\n" "judicials, o qualsevol altre dany que resultin d'un judici, o\n" "qualsevol altre pèrdua d'importància) que resulti de l'ús o de la\n" "impossibilitat d'utilitzar els Productes de programari, fins i tot si\n" "Mageia ha estat avisat de la possibilitat que\n" "s'esdevinguin aquests danys.\n" "\n" "RESPONSABILITAT LIMITADA RELATIVA A LA POSSESSIÓ O UTILITZACIÓ DE PROGRAMARI " "PROHIBIT EN ALGUNS PAÏSOS\n" "\n" "Fins al punt permés per la llei, Mageia o els seus\n" "distribuïdors no seran, sota cap circumstància, responsables de cap\n" "dany especial, incidental ni directe (incloent, sense limitar-se a,\n" "els danys per pèrdua de negocis, interrupció de negocis, pèrdues\n" "financeres, multes i costes judicials, o qualsevol altre dany que\n" "resultin d'un judici, o qualsevol altre pèrdua d'importància) que\n" "resulti de la possessió i utilització dels components de programari o\n" "de la seva descàrrega des d'un dels llocs de Mageia Linux, que\n" "estiguin prohibides o restringides en alguns països per les lleis\n" "locals. Aquesta responsabilitat limitada s'aplica, però no hi està\n" "restringida, als potents components criptogràfics inclosos als\n" "Productes de programari.\n" "\n" "\n" "3. la llicència GPL i llicències relacionades\n" "\n" "Els Productes de programari consisteixen en components creats per\n" "diferents persones o entitats. La majoria d'aquests components es\n" "regeixen per les clàusules i condicions de la Llicència General\n" "Pública de GNU, a la qual d'ara endavant hom s'hi referirà com a\n" "\"GPL\", o de llicències similars. la majoria d'aquestes llicències\n" "us permeten duplicar, adaptar o redistribuir els components que\n" "cobreixen. Si us plau, llegiu atentament les clàusules i condicions\n" "de l'acord de llicència de cada component abans d'utilitzar-lo.\n" "Qualsevol pregunta sobre la llicència d'un component s'ha d'adreçar\n" "al seu autor i no a Mageia.\n" "Els programes desenvolupats per Mageia es regeixen per la\n" "llicència GPL.La documentació escrita per Mageia està regida per una\n" "llicència específica; consulteu la documentació per a més\n" "informació.\n" "\n" "\n" "4. Drets sobre la propietat intel·lectual\n" "\n" "Tots els drets sobre els components dels Productes de programari\n" "pertanyen als seus autors respectius i estan protegits per les lleis\n" "de propietat intel·lectual i de copyright aplicables als programes\n" "informàtics.\n" "Mageia es reserva els drets de modificar o adaptar els\n" "Productes de programari, totalment o parcialment, per tots els\n" "mitjans i amb totes les finalitats.\n" "\"Mageia\", \"Mageia Linux\" i els logotips associats son marques\n" "registrades de Mageia\n" "\n" "\n" "5. Lleis rectores \n" "\n" "Si qualsevol part d'aquest acord és declarat nul, il·legal o\n" "inaplicable per un tribunal, aquesta part s'exclourà del contracte.\n" "Seguiu obligat, però, per les altres seccions aplicables de\n" "l'acord.\n" "Les clàusules i condicions d'aquesta Llicència es regeixen per les\n" "lleis de França.\n" "Tots els litigis sobre les clàusules d'aquesta llicència es dirimiran\n" "preferiblement fora dels tribunals. Com a últim recurs, el litigi es\n" "portarà als tribunals competents de París, França.\n" "Per a qualsevol tema relacionat amb aquest document, poseu-vos en\n" "contacte amb Mageia\n" #: messages.pm:93 #, c-format msgid "" "Warning: Free Software may not necessarily be patent free, and some Free\n" "Software included may be covered by patents in your country. For example, " "the\n" "MP3 decoders included may require a licence for further usage (see\n" "http://www.mp3licensing.com for more details). If you are unsure if a " "patent\n" "may be applicable to you, check your local laws." msgstr "" "Avís: El programari lliure no està necessàriament lliure de patents, alguns " "dels programes\n" "lliures inclosos poden estar coberts per patents al teu país. Per exemple, " "els\n" "decodificadors MP3 inclosos poden necessitar una llicència per poder ser " "usats (consulteu\n" "http://www.mp3licensing.com per més detalls). Si no esteu segur si una " "patent és aplicable\n" "consulteu les lleis locals." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: messages.pm:102 #, c-format msgid "" "Congratulations, installation is complete.\n" "Remove the boot media and press Enter to reboot.\n" "\n" "\n" "For information on fixes which are available for this release of Mageia " "Linux,\n" "consult the Errata available from:\n" "\n" "\n" "%s\n" "\n" "\n" "Information on configuring your system is available in the post\n" "install chapter of the Official Mageia Linux User's Guide." msgstr "" "Felicitats! La instal·lació ha acabat.\n" "Traieu el suport d'arrencada i premeu Retorn per tornar a arrencar.\n" "\n" "\n" "Trobareu la solució als problemes coneguts d'aquesta versió del\n" "Mageia Linux a la fe d'errates que hi ha a \n" "\n" "\n" "%s\n" "\n" "\n" "La informació sobre com configurar el vostre sistema està disponible a\n" "l'últim capítol d'instal·lació de la Guia Oficial de l'Usuari del\n" "Mageia Linux." # #: modules/interactive.pm:19 #, fuzzy, c-format msgid "This driver has no configuration parameter!" msgstr "Configuració del controlador del SAI" #: modules/interactive.pm:22 #, c-format msgid "Module configuration" msgstr "Configuració dels mòduls" #: modules/interactive.pm:22 #, c-format msgid "You can configure each parameter of the module here." msgstr "Ara podeu configurar cada paràmetre del mòdul." #: modules/interactive.pm:64 #, c-format msgid "Found %s interfaces" msgstr "S'han trobat interfícies %s" #: modules/interactive.pm:65 #, c-format msgid "Do you have another one?" msgstr "En teniu una altra?" #: modules/interactive.pm:66 #, c-format msgid "Do you have any %s interfaces?" msgstr "Teniu alguna interfície %s?" #: modules/interactive.pm:72 #, c-format msgid "See hardware info" msgstr "Mira la informació del maquinari" #: modules/interactive.pm:83 #, c-format msgid "Installing driver for USB controller" msgstr "S'està instal·lant el controlador pel controlador USB" #: modules/interactive.pm:84 #, c-format msgid "Installing driver for firewire controller %s" msgstr "S'està instal·lant el controlador pel controlador firewire %s" #: modules/interactive.pm:85 #, c-format msgid "Installing driver for hard disk drive controller %s" msgstr "S'està instal·lant el controlador pel controlador de disc dur %s" #: modules/interactive.pm:86 #, c-format msgid "Installing driver for ethernet controller %s" msgstr "S'està instal·lant el controlador pel controlador ethernet %s" #. -PO: the first %s is the card type (scsi, network, sound,...) #. -PO: the second is the vendor+model name #: modules/interactive.pm:97 #, c-format msgid "Installing driver for %s card %s" msgstr "S'està instal·lant el controlador per a la targeta de %s %s" #: modules/interactive.pm:100 #, c-format msgid "Configuring Hardware" msgstr "" #: modules/interactive.pm:111 #, c-format msgid "" "You may now provide options to module %s.\n" "Note that any address should be entered with the prefix 0x like '0x123'" msgstr "" "Ara podeu subministrar les opcions per al mòdul %s.\n" "Tingueu en compte que qualsevol adreça s'ha de prefixar amb 0x, com '0x123'" #: modules/interactive.pm:117 #, c-format msgid "" "You may now provide options to module %s.\n" "Options are in format ``name=value name2=value2 ...''.\n" "For instance, ``io=0x300 irq=7''" msgstr "" "Ara podeu proporcionar les opcions per al mòdul %s.\n" "Les opcions estan en el format \"nom=valor nom2=valor2 ...\".\n" "Per exemple, \"io=0x300 irq=7\"" #: modules/interactive.pm:119 #, c-format msgid "Module options:" msgstr "Opcions del mòdul:" #. -PO: the %s is the driver type (scsi, network, sound,...) #: modules/interactive.pm:132 #, c-format msgid "Which %s driver should I try?" msgstr "Quin controlador de %s he de provar?" #: modules/interactive.pm:141 #, c-format msgid "" "In some cases, the %s driver needs to have extra information to work\n" "properly, although it normally works fine without them. Would you like to " "specify\n" "extra options for it or allow the driver to probe your machine for the\n" "information it needs? Occasionally, probing will hang a computer, but it " "should\n" "not cause any damage." msgstr "" "En alguns casos, el controlador de %s necessita informació addicional\n" "per funcionar correctament, tot i que normalment funciona bé sense ella.\n" "Voleu especificar opcions addicionals o deixar que el controlador\n" "cerqui al vostre ordinador la informació que necessita? Aquesta recerca\n" "podria penjar l'ordinador, però això no causaria cap dany." #: modules/interactive.pm:145 #, c-format msgid "Autoprobe" msgstr "Exploració automàtica" #: modules/interactive.pm:145 #, c-format msgid "Specify options" msgstr "Especifica les opcions" #: modules/interactive.pm:157 #, c-format msgid "" "Loading module %s failed.\n" "Do you want to try again with other parameters?" msgstr "" "Ha fallat la càrrega del mòdul %s.\n" "Voleu tornar-ho a intentar amb altres paràmetres?" #: mygtk2.pm:1541 mygtk2.pm:1542 #, c-format msgid "Password is trivial to guess" msgstr "" #: mygtk2.pm:1543 #, c-format msgid "Password should be resistant to basic attacks" msgstr "" #: mygtk2.pm:1544 mygtk2.pm:1545 #, fuzzy, c-format msgid "Password seems secure" msgstr "Contrasenya" #: partition_table.pm:415 #, c-format msgid "mount failed: " msgstr "ha fallat el muntatge: " #: partition_table.pm:527 #, c-format msgid "Extended partition not supported on this platform" msgstr "Aquesta plataforma no suporta particions ampliades" #: partition_table.pm:545 #, c-format msgid "" "You have a hole in your partition table but I can not use it.\n" "The only solution is to move your primary partitions to have the hole next " "to the extended partitions." msgstr "" "Hi ha un forat a la vostra taula de particions, però no puc utilitzar-lo.\n" "L'única solució és moure les particions primàries per fer que el forat quedi " "contigu a les particions ampliades" #: partition_table/raw.pm:299 #, c-format msgid "" "Something bad is happening on your hard disk drive. \n" "A test to check the integrity of data has failed. \n" "It means writing anything on the disk will end up with random, corrupted " "data." msgstr "" "Alguna cosa no va bé en la vostra unitat. \n" "Ha fallat una comprovació de la integritat de les dades. \n" "Això vol dir que qualsevol cosa que s'escrigui al disc acabarà amb dates " "aleatòries i malmeses." #: pkgs.pm:252 pkgs.pm:255 pkgs.pm:268 #, c-format msgid "Unused packages removal" msgstr "" #: pkgs.pm:252 #, c-format msgid "Finding unused hardware packages..." msgstr "" #: pkgs.pm:255 #, c-format msgid "Finding unused localization packages..." msgstr "" #: pkgs.pm:269 #, c-format msgid "" "We have detected that some packages are not needed for your system " "configuration." msgstr "" #: pkgs.pm:270 #, c-format msgid "We will remove the following packages, unless you choose otherwise:" msgstr "" #: pkgs.pm:273 pkgs.pm:274 #, fuzzy, c-format msgid "Unused hardware support" msgstr "habilita l'ús de la ràdio" #: pkgs.pm:277 pkgs.pm:278 #, c-format msgid "Unused localization" msgstr "" #: raid.pm:42 #, c-format msgid "Cannot add a partition to _formatted_ RAID %s" msgstr "No es pot afegir una partició al RAID _formatat_ %s" #: raid.pm:165 #, c-format msgid "Not enough partitions for RAID level %d\n" msgstr "No hi ha prou particions per al nivell RAID %d\n" #: scanner.pm:96 #, c-format msgid "Could not create directory /usr/share/sane/firmware!" msgstr "No s'ha pogut crear el directori /usr/share/sane/firmware!" #: scanner.pm:107 #, c-format msgid "Could not create link /usr/share/sane/%s!" msgstr "No s'ha pogut crear l'enllaç /usr/share/sane/%s!" #: scanner.pm:114 #, c-format msgid "Could not copy firmware file %s to /usr/share/sane/firmware!" msgstr "" "No s'ha pogut copiar el fitxer de firmware %s a /usr/share/sane/firmware!" #: scanner.pm:121 #, c-format msgid "Could not set permissions of firmware file %s!" msgstr "No s'han pogut establir els permissos del fitxer de firmware %s!" #: scanner.pm:200 #, c-format msgid "Scannerdrake" msgstr "Scannerdrake" #: scanner.pm:201 #, c-format msgid "Could not install the packages needed to share your scanner(s)." msgstr "" "No s'ha pogut instal·lar els paquets necessaris per compartir els vostres " "escàner(s)." #: scanner.pm:202 #, c-format msgid "Your scanner(s) will not be available for non-root users." msgstr "" "Els vostre(s) escànner(s) no estaran disponibles per a usuaris no " "privilegiats." #: security/help.pm:11 #, fuzzy, c-format msgid "Accept bogus IPv4 error messages." msgstr "Accepta els missatges d'error IPv4 falsos." #: security/help.pm:13 #, fuzzy, c-format msgid "Accept broadcasted icmp echo." msgstr "Accepta l'eco icmp broadcast" #: security/help.pm:15 #, fuzzy, c-format msgid "Accept icmp echo." msgstr "Accepta echo icmp" #: security/help.pm:17 #, fuzzy, c-format msgid "Allow autologin." msgstr "Permet/Impedeix l'entrada automàtica." #. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is #: security/help.pm:21 #, fuzzy, c-format msgid "" "If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n" "\n" "If set to \"None\", no issues are allowed.\n" "\n" "Else only /etc/issue is allowed." msgstr "" "Si s'estableix a \"ALL\" permet que /etc/issue i /etc/issue.net existeixin.\n" "\n" "Si s'estableix a \"NONE\" no espermet cap\n" "\n" "Altrament només es permet /etc/issue." #: security/help.pm:27 #, fuzzy, c-format msgid "Allow reboot by the console user." msgstr "Permet/Impedeix tornar a arrencar per l'usuari de la consola." #: security/help.pm:29 #, fuzzy, c-format msgid "Allow remote root login." msgstr "Permet l'entrada de root remota" #: security/help.pm:31 #, fuzzy, c-format msgid "Allow direct root login." msgstr "Permet/Impedeix l'entrada directa de root." #: security/help.pm:33 #, fuzzy, c-format msgid "" "Allow the list of users on the system on display managers (kdm and gdm)." msgstr "" "Permet/Impedeix la llista d'usuaris del sistema en els gestors de pantalla " "(kdm i gdm)." #: security/help.pm:35 #, c-format msgid "" "Allow to export display when\n" "passing from the root account to the other users.\n" "\n" "See pam_xauth(8) for more details.'" msgstr "" #: security/help.pm:40 #, fuzzy, c-format msgid "" "Allow X connections:\n" "\n" "- \"All\" (all connections are allowed),\n" "\n" "- \"Local\" (only connection from local machine),\n" "\n" "- \"None\" (no connection)." msgstr "" "Permet/Impedeix connexions X:\n" "\n" "- ALL (es permeten totes les connexions),\n" "\n" "- LOCAL (només connexió des de la màquina local),\n" "\n" "- NONE (cap connexió)." #: security/help.pm:48 #, c-format msgid "" "The argument specifies if clients are authorized to connect\n" "to the X server from the network on the tcp port 6000 or not." msgstr "" "L'argument indica si els clients estan autoritzar a connectar\n" "al servidor X des de la xarxa en el port tcp 6000 o no." #. -PO: here "ALL", "Local" and "None" are values in a pull-down menu; translate them the same as they're #: security/help.pm:53 #, fuzzy, c-format msgid "" "Authorize:\n" "\n" "- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if " "set to \"ALL\",\n" "\n" "- only local ones if set to \"Local\"\n" "\n" "- none if set to \"None\".\n" "\n" "To authorize the services you need, use /etc/hosts.allow (see hosts.allow" "(5))." msgstr "" "Autoritza:\n" "\n" "- tots els serveis controlats per tcp_wrappers (vegeu hosts.deny(5)) si " "s'estableix a \"ALL\",\n" "\n" "- només els fitxers locals si s'estabeix a \"LOCAL\"\n" "\n" "- cap si s'estableix a \"NONE\".\n" "\n" "Per autoritzar els serveis que us calguin, utilitzeu /etc/hosts.allow\n" "(vegeu hosts.allow(5))." #: security/help.pm:63 #, c-format msgid "" "If SERVER_LEVEL (or SECURE_LEVEL if absent)\n" "is greater than 3 in /etc/security/msec/security.conf, creates the\n" "symlink /etc/security/msec/server to point to\n" "/etc/security/msec/server.<SERVER_LEVEL>.\n" "\n" "The /etc/security/msec/server is used by chkconfig --add to decide to\n" "add a service if it is present in the file during the installation of\n" "packages." msgstr "" "Si SERVER_LEVEL (o SECURE_LEVEL si no hi és) és més gran que 3\n" "a /etc/security/msec/security.conf, crea l'enllaç simbòlic /etc/security/" "msec/server\n" "per apuntar a /etc/security/msec/server.<SERVER_LEVEL>.\n" "\n" " El /etc/security/msec/server és utilitzat per chkconfig --add per decidir\n" "afegir un servei si és present al fitxer durant la instal·lació dels paquets." #: security/help.pm:72 #, fuzzy, c-format msgid "" "Enable crontab and at for users.\n" "\n" "Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n" "and crontab(1))." msgstr "" "Habilita/Inhabilita crontab i at per als usuaris.\n" "\n" "Posa els usuaris autoritzats a /etc/cron.allow i /etc/at.allow\n" "(vegeu man at(1) i crontab(1))." #: security/help.pm:77 #, c-format msgid "Enable syslog reports to console 12" msgstr "" #: security/help.pm:79 #, fuzzy, c-format msgid "" "Enable name resolution spoofing protection. If\n" "\"%s\" is true, also reports to syslog." msgstr "" "Habilita/Deshabilita la protecció contra falsejament de resolució de noms. " "Si\n" "\"%s\" és cert, informa també al registre del sistema." #: security/help.pm:80 #, c-format msgid "Security Alerts:" msgstr "Alarmes de seguretat:" #: security/help.pm:82 #, fuzzy, c-format msgid "Enable IP spoofing protection." msgstr "Habilita la protecció contra falsejament de la IP." #: security/help.pm:84 #, fuzzy, c-format msgid "Enable libsafe if libsafe is found on the system." msgstr "Habilita/Inhabilita el libsafe si és que es troba al sistema." #: security/help.pm:86 #, fuzzy, c-format msgid "Enable the logging of IPv4 strange packets." msgstr "Habilita el registre de paquets IPv4 estranys" #: security/help.pm:88 #, fuzzy, c-format msgid "Enable msec hourly security check." msgstr "Habilita la comprovació de seguretat msec horària" #: security/help.pm:90 #, fuzzy, c-format msgid "" "Enable su only from members of the wheel group. If set to no, allows su from " "any user." msgstr "" "S'està habilitant su només per a membres del grup wheel o permet su des de " "qualsevol usuari." #: security/help.pm:92 #, c-format msgid "Use password to authenticate users." msgstr "Utilitza una contrasenya per autenticar usuaris." #: security/help.pm:94 #, fuzzy, c-format msgid "Activate Ethernet cards promiscuity check." msgstr "" "Activa/Inhabilita la comprovació de promiscuïtat de les targetes Ethernet." #: security/help.pm:96 #, fuzzy, c-format msgid "Activate daily security check." msgstr "Activa/Inhabilita la comprovació diària de seguretat." #: security/help.pm:98 #, fuzzy, c-format msgid "Enable sulogin(8) in single user level." msgstr "Habilita/Deshabilita sulogin(8) en nivell monousuari." #: security/help.pm:100 #, c-format msgid "Add the name as an exception to the handling of password aging by msec." msgstr "" "Afegiu el nom com a excepció al maneig, per part de l'msec, de l'antiguitat " "de contrasenyes." #: security/help.pm:102 #, c-format msgid "Set password aging to \"max\" days and delay to change to \"inactive\"." msgstr "" "Definiu l'antiguitat de la contrasenya a \"max\" dies i temps en canviar a " "\"inactive\"." #: security/help.pm:104 #, c-format msgid "Set the password history length to prevent password reuse." msgstr "" "Defineix la llargària de l'historial de contrasenyes per prevenir la " "reutilització de contrasenyes." #: security/help.pm:106 #, c-format msgid "" "Set the password minimum length and minimum number of digit and minimum " "number of capitalized letters." msgstr "" "Defineix la llargada mínima de la contrasenya i el nombre mínim de xifres i " "de lletres en majúscules." #: security/help.pm:108 #, fuzzy, c-format msgid "Set the root's file mode creation mask." msgstr "Defineix umask de root." #: security/help.pm:109 #, c-format msgid "if set to yes, check open ports." msgstr "si és \"\", comprova els ports oberts" #: security/help.pm:110 #, c-format msgid "" "if set to yes, check for:\n" "\n" "- empty passwords,\n" "\n" "- no password in /etc/shadow\n" "\n" "- for users with the 0 id other than root." msgstr "" "si és \"\", comprova :\n" "\n" " - les contrasenyes buiDES, \n" "\n" " - les que no hi són a /etc/shadow\n" "\n" " - usuaris amb l'identificador 0 que no sigui root." #: security/help.pm:117 #, c-format msgid "if set to yes, check permissions of files in the users' home." msgstr "si és \"\", comprova els permisos dels fitxers a casa dels usuaris" #: security/help.pm:118 #, c-format msgid "if set to yes, check if the network devices are in promiscuous mode." msgstr "" "si és \"\", comprova si els dispositius de xarxa són en mode promiscu." #: security/help.pm:119 #, c-format msgid "if set to yes, run the daily security checks." msgstr "si és \"\", executa les comprovacions diàries de seguretat." #: security/help.pm:120 #, c-format msgid "if set to yes, check additions/removals of sgid files." msgstr "si és \"\", comprova les addicions/supressions dels fitxers sgid." #: security/help.pm:121 #, c-format msgid "if set to yes, check empty password in /etc/shadow." msgstr "si és \"\", comprova la contrasenya buida a /etc/shadow." #: security/help.pm:122 #, c-format msgid "if set to yes, verify checksum of the suid/sgid files." msgstr "si és \"\", comprova la suma de control dels fitxers suid/sgid." #: security/help.pm:123 #, c-format msgid "if set to yes, check additions/removals of suid root files." msgstr "si és \"\", comprova addicions/eliminacions dels fitxers arrel suid." #: security/help.pm:124 #, c-format msgid "if set to yes, report unowned files." msgstr "si és \"\", informa dels fitxers sense propietari" #: security/help.pm:125 #, c-format msgid "if set to yes, check files/directories writable by everybody." msgstr "si és \"\", comprova els fitxers/directoris que tothom pot escriure." #: security/help.pm:126 #, c-format msgid "if set to yes, run chkrootkit checks." msgstr "si és \"\", executa les comprovacions chkrootkit." #: security/help.pm:127 #, c-format msgid "" "if set, send the mail report to this email address else send it to root." msgstr "" "si es defineix, envia l'informe de correu a aquesta adreça electrònica; si " "no, envia'l al root." #: security/help.pm:128 #, c-format msgid "if set to yes, report check result by mail." msgstr "si és \"\", l'informa comprova el resultat per correu." #: security/help.pm:129 #, c-format msgid "Do not send mails if there's nothing to warn about" msgstr "No enviïs correus si no hi ha res del que avisar" #: security/help.pm:130 #, c-format msgid "if set to yes, run some checks against the rpm database." msgstr "" "si és \"\", executa determinades comprovacions de la base de dades rpm." #: security/help.pm:131 #, c-format msgid "if set to yes, report check result to syslog." msgstr "" "si és \"\", informa del resultat de la comprovació al registre del sistema." #: security/help.pm:132 #, c-format msgid "if set to yes, reports check result to tty." msgstr "si és \"\", informa dels resultats de la comprovació a tty." #: security/help.pm:134 #, c-format msgid "Set shell commands history size. A value of -1 means unlimited." msgstr "" "Defineix la mida de l'historial d'ordres de l'intèrpret d'ordres. El valor " "-1 indica il·limitada." #: security/help.pm:136 #, c-format msgid "Set the shell timeout. A value of zero means no timeout." msgstr "" "Defineix el temps màxim d'espera per a l'intèrpret d'ordres. El valor zero " "indica 'sense temps màxim'." #: security/help.pm:136 #, c-format msgid "Timeout unit is second" msgstr "La unitat del temps d'espera és el segon" #: security/help.pm:138 #, fuzzy, c-format msgid "Set the user's file mode creation mask." msgstr "Defineix la umask de l'usuari." #: security/l10n.pm:11 #, c-format msgid "Accept bogus IPv4 error messages" msgstr "Accepta els missatges d'error IPv4 falsos." #: security/l10n.pm:12 #, c-format msgid "Accept broadcasted icmp echo" msgstr "Accepta l'eco icmp broadcast" #: security/l10n.pm:13 #, c-format msgid "Accept icmp echo" msgstr "Accepta echo icmp" #: security/l10n.pm:15 #, c-format msgid "/etc/issue* exist" msgstr "/etc/issue* existeix" #: security/l10n.pm:16 #, c-format msgid "Reboot by the console user" msgstr "" #: security/l10n.pm:17 #, c-format msgid "Allow remote root login" msgstr "Permet l'entrada de root remota" #: security/l10n.pm:18 #, c-format msgid "Direct root login" msgstr "Entrada directa com a superusuari" #: security/l10n.pm:19 #, c-format msgid "List users on display managers (kdm and gdm)" msgstr "Llista els usuaris en el sistema en gestors de pantalla (kdm i gdm)" #: security/l10n.pm:20 #, c-format msgid "Export display when passing from root to the other users" msgstr "" #: security/l10n.pm:21 #, c-format msgid "Allow X Window connections" msgstr "Permet connexions X Windows" #: security/l10n.pm:22 #, c-format msgid "Authorize TCP connections to X Window" msgstr "Autoritza connexions TCP a les X Window" #: security/l10n.pm:23 #, c-format msgid "Authorize all services controlled by tcp_wrappers" msgstr "Autoritza tots els serveis control·lats per tcp_wrappers" #: security/l10n.pm:24 #, c-format msgid "Chkconfig obey msec rules" msgstr "Chkconfig obeeix les regles msec" #: security/l10n.pm:25 #, c-format msgid "Enable \"crontab\" and \"at\" for users" msgstr "Habilita \"crontab\" i \"at\" pels usuaris" #: security/l10n.pm:26 #, c-format msgid "Syslog reports to console 12" msgstr "" #: security/l10n.pm:27 #, c-format msgid "Name resolution spoofing protection" msgstr "" #: security/l10n.pm:28 #, c-format msgid "Enable IP spoofing protection" msgstr "Habilita la protecció contra falsejament de la IP." #: security/l10n.pm:29 #, c-format msgid "Enable libsafe if libsafe is found on the system" msgstr "Habilita/Inhabilita el libsafe si és que es troba al sistema." #: security/l10n.pm:30 #, c-format msgid "Enable the logging of IPv4 strange packets" msgstr "Habilita el registre de paquets IPv4 estranys" #: security/l10n.pm:31 #, c-format msgid "Enable msec hourly security check" msgstr "Habilita la comprovació de seguretat msec horària" #: security/l10n.pm:32 #, fuzzy, c-format msgid "Enable su only from the wheel group members" msgstr "Habilita su només per a membres del grup wheel o per qualsevol usuari" #: security/l10n.pm:33 #, c-format msgid "Use password to authenticate users" msgstr "Utilitza una contrasenya per autenticar usuaris." #: security/l10n.pm:34 #, c-format msgid "Ethernet cards promiscuity check" msgstr "Comprovació de promiscuïtat de les targetes Ethernet" #: security/l10n.pm:35 #, c-format msgid "Daily security check" msgstr "Comprovació de seguretat diària" #: security/l10n.pm:36 #, c-format msgid "Sulogin(8) in single user level" msgstr "Sulogin(8) en nivell monousuari" #: security/l10n.pm:37 #, c-format msgid "No password aging for" msgstr "Sense envelliment de contrasenya per" #: security/l10n.pm:38 #, c-format msgid "Set password expiration and account inactivation delays" msgstr "" #: security/l10n.pm:39 #, c-format msgid "Password history length" msgstr "Longitud de la història de contrasenyes" #: security/l10n.pm:40 #, c-format msgid "Password minimum length and number of digits and upcase letters" msgstr "" "Longitud mínima de la contrasenya i el nombre de dígits i lletres en " "majúscules" #: security/l10n.pm:41 #, c-format msgid "Root umask" msgstr "Umask de root" #: security/l10n.pm:42 #, c-format msgid "Shell history size" msgstr "Mida de la història de l'intèrpret de comandes" #: security/l10n.pm:43 #, c-format msgid "Shell timeout" msgstr "Temps màxim d'espera per a l'intèrpret d'ordres" #: security/l10n.pm:44 #, c-format msgid "User umask" msgstr "Umask d'usuari" #: security/l10n.pm:45 #, c-format msgid "Check open ports" msgstr "Comprova els ports oberts" #: security/l10n.pm:46 #, c-format msgid "Check for unsecured accounts" msgstr "" #: security/l10n.pm:47 #, c-format msgid "Check permissions of files in the users' home" msgstr "Comprova els permisos dels fitxers al home dels usuaris" #: security/l10n.pm:48 #, c-format msgid "Check if the network devices are in promiscuous mode" msgstr "Comprova si els dispositius de xarxa són en mode promiscu" #: security/l10n.pm:49 #, c-format msgid "Run the daily security checks" msgstr "Executa les comprovacions diàries de seguretat" #: security/l10n.pm:50 #, c-format msgid "Check additions/removals of sgid files" msgstr "Comprova les addicions/supressions dels fitxers sgid." #: security/l10n.pm:51 #, c-format msgid "Check empty password in /etc/shadow" msgstr "Comprova la contrasenya buida a /etc/shadow" #: security/l10n.pm:52 #, c-format msgid "Verify checksum of the suid/sgid files" msgstr "Comprova la suma de control dels fitxers suid/sgid" #: security/l10n.pm:53 #, c-format msgid "Check additions/removals of suid root files" msgstr "Comprova addicions/eliminacions de fitxers suid root." #: security/l10n.pm:54 #, c-format msgid "Report unowned files" msgstr "Informa dels fitxers sense propietari" #: security/l10n.pm:55 #, c-format msgid "Check files/directories writable by everybody" msgstr "Comprova els fitxers/directoris que tothom pot escriure" #: security/l10n.pm:56 #, c-format msgid "Run chkrootkit checks" msgstr "Executa les comprovacions chkrootkit" #: security/l10n.pm:57 #, c-format msgid "Do not send empty mail reports" msgstr "" #: security/l10n.pm:58 #, c-format msgid "If set, send the mail report to this email address else send it to root" msgstr "" "si es defineix, envia l'informe de correu a aquesta adreça electrònica; si " "no, envia'l al root" #: security/l10n.pm:59 #, c-format msgid "Report check result by mail" msgstr "Informa el resultat de la comprovació per correu" #: security/l10n.pm:60 #, c-format msgid "Run some checks against the rpm database" msgstr "Executa determinades comprovacions de la base de dades rpm" #: security/l10n.pm:61 #, c-format msgid "Report check result to syslog" msgstr "Informa del resultat de la comprovació al registre del sistema" #: security/l10n.pm:62 #, c-format msgid "Reports check result to tty" msgstr "Informa dels resultats de la comprovació a tty" #: security/level.pm:10 #, c-format msgid "Disable msec" msgstr "" #: security/level.pm:11 #, c-format msgid "Standard" msgstr "Estàndard" #: security/level.pm:12 #, fuzzy, c-format msgid "Secure" msgstr "Seguretat" #: security/level.pm:40 #, c-format msgid "" "This level is to be used with care, as it disables all additional security\n" "provided by msec. Use it only when you want to take care of all aspects of " "system security\n" "on your own." msgstr "" #: security/level.pm:43 #, c-format msgid "" "This is the standard security recommended for a computer that will be used " "to connect to the Internet as a client." msgstr "" "Aquesta és la seguretat estàndard recomanada per a un ordinador que " "s'utilitzarà per connectar-se a Internet com a client. Ara hi ha " "comprovacions de seguretat." #: security/level.pm:44 #, c-format msgid "" "With this security level, the use of this system as a server becomes " "possible.\n" "The security is now high enough to use the system as a server which can " "accept\n" "connections from many clients. Note: if your machine is only a client on the " "Internet, you should choose a lower level." msgstr "" "Amb aquest nivell de seguretat, la utilització d'aquest sistema com a " "servidor esdevé possible.\n" "La seguretat és ara prou alta com per utilitzar el sistema com a servidor\n" "que accepti connexions de molts clients. Nota: si la vostra màquina és només " "un client d'Internet, seria millor escollir un nivell més baix." #: security/level.pm:51 #, c-format msgid "DrakSec Basic Options" msgstr "Opcions bàsiques del DrakSec" #: security/level.pm:54 #, c-format msgid "Please choose the desired security level" msgstr "Escolliu el nivell de seguretat desitjat" #. -PO: this string is used to properly format "<security level>: <level description>" #: security/level.pm:58 #, c-format msgid "%s: %s" msgstr "" #: security/level.pm:61 #, c-format msgid "Security Administrator:" msgstr "Administrador de seguretat:" #: security/level.pm:62 #, c-format msgid "Login or email:" msgstr "" #: services.pm:19 #, c-format msgid "Listen and dispatch ACPI events from the kernel" msgstr "" #: services.pm:20 #, c-format msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system" msgstr "Executa el sistema de so ALSA (Advanced Linux Sound Architecture)" #: services.pm:21 #, c-format msgid "Anacron is a periodic command scheduler." msgstr "Anacron, un programador d'ordres periòdiques." #: services.pm:22 #, c-format msgid "" "apmd is used for monitoring battery status and logging it via syslog.\n" "It can also be used for shutting down the machine when the battery is low." msgstr "" "L'apmd s'utilitza per monitoritzar l'estat de la bateria i registrar-lo " "mitjançant el registre del sistema (syslog).\n" "També es pot utilitzar per apagar l'ordinador quan queda poca bateria." #: services.pm:24 #, c-format msgid "" "Runs commands scheduled by the at command at the time specified when\n" "at was run, and runs batch commands when the load average is low enough." msgstr "" "Executa les ordres programades per l'ordre 'at' a l'hora que es va\n" "especificar en executar 'at', i executa les ordres automàtiques quan la\n" "mitjana de càrrega és prou baixa." #: services.pm:26 #, c-format msgid "Avahi is a ZeroConf daemon which implements an mDNS stack" msgstr "" #: services.pm:27 #, c-format msgid "Set CPU frequency settings" msgstr "" #: services.pm:28 #, c-format msgid "" "cron is a standard UNIX program that runs user-specified programs\n" "at periodic scheduled times. vixie cron adds a number of features to the " "basic\n" "UNIX cron, including better security and more powerful configuration options." msgstr "" "El cron és un programa UNIX estàndard que executa programes determinats\n" "per l'usuari en hores programades. El vixie cron afegeix un cert nombre de\n" "característiques al cron bàsic, incloent seguretat millorada i opcions\n" "de configuració més potents." #: services.pm:31 #, c-format msgid "" "Common UNIX Printing System (CUPS) is an advanced printer spooling system" msgstr "" #: services.pm:32 #, c-format msgid "Launches the graphical display manager" msgstr "" #: services.pm:33 #, c-format msgid "" "FAM is a file monitoring daemon. It is used to get reports when files " "change.\n" "It is used by GNOME and KDE" msgstr "" "FAM és un dimoni de monitorització de fitxers. És usat per tenir informes " "quan els fitxers canvien\n" "És usat a GNOME i KDE" #: services.pm:35 #, c-format msgid "" "G15Daemon allows users access to all extra keys by decoding them and \n" "pushing them back into the kernel via the linux UINPUT driver. This driver " "must be loaded \n" "before g15daemon can be used for keyboard access. The G15 LCD is also " "supported. By default, \n" "with no other clients active, g15daemon will display a clock. Client " "applications and \n" "scripts can access the LCD via a simple API." msgstr "" #: services.pm:40 #, c-format msgid "" "GPM adds mouse support to text-based Linux applications such the\n" "Midnight Commander. It also allows mouse-based console cut-and-paste " "operations,\n" "and includes support for pop-up menus on the console." msgstr "" "El GPM afegeix suport de ratolí a aplicacions Linux basades en text, com ara " "el Midnight Commander. També permet operacions de tallar i enganxar amb el " "ratolí, i inclou suport de menús desplegables a la consola." #: services.pm:43 #, c-format msgid "HAL is a daemon that collects and maintains information about hardware" msgstr "" #: services.pm:44 #, c-format msgid "" "HardDrake runs a hardware probe, and optionally configures\n" "new/changed hardware." msgstr "" "El HardDrake fa una prova del maquinari, i opcionalment configura\n" "el maquinari nou/canviat." #: services.pm:46 #, c-format msgid "" "Apache is a World Wide Web server. It is used to serve HTML files and CGI." msgstr "" "L'Apache és un servidor de World Wide Web. S'utilitza per servir fitxers\n" "HTML i CGI." #: services.pm:47 #, c-format msgid "" "The internet superserver daemon (commonly called inetd) starts a\n" "variety of other internet services as needed. It is responsible for " "starting\n" "many services, including telnet, ftp, rsh, and rlogin. Disabling inetd " "disables\n" "all of the services it is responsible for." msgstr "" "El dimoni superservidor d'Internet (conegut normalment com 'inetd') inicia\n" "altres serveis d'Internet a mesura que es van necessitant. És el " "responsable\n" "d'iniciar molts serveis, incloent el telnet, l'ftp, l'rsh i l'rlogin. Si\n" "s'inhabilita l'inetd, s'inhabiliten tots els serveis de què és responsable." #: services.pm:51 #, c-format msgid "Automates a packet filtering firewall with ip6tables" msgstr "" #: services.pm:52 #, c-format msgid "Automates a packet filtering firewall with iptables" msgstr "" #: services.pm:53 #, c-format msgid "" "Launch packet filtering for Linux kernel 2.2 series, to set\n" "up a firewall to protect your machine from network attacks." msgstr "" "Executa el filtratge de paquets per als nuclis Linux 2.2, per instal·lar\n" "un tallafocs que protegeixi el vostre ordinador d'atacs des de la xarxa." #: services.pm:55 #, c-format msgid "" "Evenly distributes IRQ load across multiple CPUs for enhanced performance" msgstr "" #: services.pm:56 #, c-format msgid "" "This package loads the selected keyboard map as set in\n" "/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n" "You should leave this enabled for most machines." msgstr "" "Aquest paquet carrega el mapa de teclat seleccionat segons s'ha definit\n" "a /etc/sysconfig/keyboard. Es pot seleccionar mitjançant la utilitat\n" "kbdconfig.\n" "Per a la majoria d'ordinadors, s'ha de deixar habilitat." #: services.pm:59 #, c-format msgid "" "Automatic regeneration of kernel header in /boot for\n" "/usr/include/linux/{autoconf,version}.h" msgstr "" "Regeneració automàtica del capçal de nucli a /boot per\n" "/usr/include/linux/{autoconf,versió}.h" #: services.pm:61 #, c-format msgid "Automatic detection and configuration of hardware at boot." msgstr "" "Detecció i configuració automàtica de maquinari en iniciar l'ordinador." #: services.pm:62 #, c-format msgid "Tweaks system behavior to extend battery life" msgstr "" #: services.pm:63 #, c-format msgid "" "Linuxconf will sometimes arrange to perform various tasks\n" "at boot-time to maintain the system configuration." msgstr "" "De vegaDES, el Linuxconf determinarà que s'han de fer algunes tasques\n" "en iniciar l'ordinador per mantenir la configuració del sistema." #: services.pm:65 #, c-format msgid "" "lpd is the print daemon required for lpr to work properly. It is\n" "basically a server that arbitrates print jobs to printer(s)." msgstr "" "L'lpd és el dimoni d'impressió necessari perquè l'lpr funcioni\n" "correctament. Bàsicament, es tracta d'un servidor que assigna les\n" "tasques d'impressió a la(es) impressora(es)." #: services.pm:67 #, c-format msgid "" "Linux Virtual Server, used to build a high-performance and highly\n" "available server." msgstr "" "El Servidor Virtual de Linux (LVS) s'usa per construir un servidor de \n" "gran capacitat i robustesa." #: services.pm:69 #, c-format msgid "Monitors the network (Interactive Firewall and wireless" msgstr "" #: services.pm:70 #, c-format msgid "Software RAID monitoring and management" msgstr "" #: services.pm:71 #, c-format msgid "" "DBUS is a daemon which broadcasts notifications of system events and other " "messages" msgstr "" #: services.pm:72 #, c-format msgid "Enables MSEC security policy on system startup" msgstr "" #: services.pm:73 #, c-format msgid "" "named (BIND) is a Domain Name Server (DNS) that is used to resolve host " "names to IP addresses." msgstr "" "named (BIND) és un servidor de noms de domini (DNS) que s'utilitza per " "convertir noms d'ordinadors centrals en adreces IP." #: services.pm:74 #, c-format msgid "Initializes network console logging" msgstr "" #: services.pm:75 #, c-format msgid "" "Mounts and unmounts all Network File System (NFS), SMB (Lan\n" "Manager/Windows), and NCP (NetWare) mount points." msgstr "" "Munta i desmunta tots els punts de muntatge dels sistemes de fitxers\n" "de xarxa (NFS), SMB (gestor de xarxes d'àrea local/Windows) i NCP (NetWare)." #: services.pm:77 #, c-format msgid "" "Activates/Deactivates all network interfaces configured to start\n" "at boot time." msgstr "" "Activa/Desactiva totes les interfícies de xarxa configurades per\n" "iniciar-se durant l'arrencada." #: services.pm:79 #, c-format msgid "Requires network to be up if enabled" msgstr "" #: services.pm:80 #, c-format msgid "Wait for the hotplugged network to be up" msgstr "" #: services.pm:81 #, c-format msgid "" "NFS is a popular protocol for file sharing across TCP/IP networks.\n" "This service provides NFS server functionality, which is configured via the\n" "/etc/exports file." msgstr "" "L'NFS és un protocol popular de compartició de fitxers en xarxes TCP/IP.\n" "Aquest servei proporciona la funcionalitat del servidor NFS, que es\n" "configura mitjançant el fitxer /etc/exports." #: services.pm:84 #, c-format msgid "" "NFS is a popular protocol for file sharing across TCP/IP\n" "networks. This service provides NFS file locking functionality." msgstr "" "L'NFS és un protocol popular de compartició de fitxers en xarxes TCP/IP\n" "Aquest servei proporciona la funcionalitat de blocatge de fitxer NFS." #: services.pm:86 #, c-format msgid "Synchronizes system time using the Network Time Protocol (NTP)" msgstr "" #: services.pm:87 #, c-format msgid "" "Automatically switch on numlock key locker under console\n" "and Xorg at boot." msgstr "" "Engega automàticament a l'arrencada la tecla de fixació del \n" "teclat numèric a la consola i sota Xorg." #: services.pm:89 #, c-format msgid "Support the OKI 4w and compatible winprinters." msgstr "Funciona amb OKI 4w i winprinters compatibles." #: services.pm:90 #, c-format msgid "Checks if a partition is close to full up" msgstr "" #: services.pm:91 #, c-format msgid "" "PCMCIA support is usually to support things like ethernet and\n" "modems in laptops. It will not get started unless configured so it is safe " "to have\n" "it installed on machines that do not need it." msgstr "" "El suport PCMCIA serveix normalment per funcionar amb coses com ara " "l'ethernet\n" "i els mòdems en portàtils. No s'iniciarà tret que es configuri, de manera\n" "que no hi ha problema per instal·lar-lo en ordinadors que no el necessiten." #: services.pm:94 #, c-format msgid "" "The portmapper manages RPC connections, which are used by\n" "protocols such as NFS and NIS. The portmap server must be running on " "machines\n" "which act as servers for protocols which make use of the RPC mechanism." msgstr "" "El mapador de ports (portmapper) gestiona les connexions RPC, que s'usen " "per\n" "protocols com ara l'NFS i el NIS. El servidor portmap s'ha d'estar\n" "executant en ordinadors que actuen com a servidors per a protocols que\n" "utilitzen el mecanisme RPC." #: services.pm:97 #, c-format msgid "Reserves some TCP ports" msgstr "" #: services.pm:98 #, c-format msgid "" "Postfix is a Mail Transport Agent, which is the program that moves mail from " "one machine to another." msgstr "" "El Postfix és un Agent de Transport de Correu, que és el programa que passa " "el correu d'un ordinador a un altre." #: services.pm:99 #, c-format msgid "" "Saves and restores system entropy pool for higher quality random\n" "number generation." msgstr "" "Desa i recupera el generador d'entropia del sistema per a\n" "la generació de nombres aleatoris d'una qualitat més alta." #: services.pm:101 #, c-format msgid "" "Assign raw devices to block devices (such as hard disk drive\n" "partitions), for the use of applications such as Oracle or DVD players" msgstr "" "Assigna els dispositius en cru a dispositius de blocs (com ara les " "particions de\n" "disc dur), perquè siguin utilitzats per aplicacions com ara Oracle o " "reproductors DVD" #: services.pm:103 #, fuzzy, c-format msgid "Nameserver information manager" msgstr "Informació del disc dur" #: services.pm:104 #, c-format msgid "" "The routed daemon allows for automatic IP router table updated via\n" "the RIP protocol. While RIP is widely used on small networks, more complex\n" "routing protocols are needed for complex networks." msgstr "" "El dimoni 'routed' permet que la taula d'encaminadors IP automàtics\n" "s'actualitzi mitjançant el protocol RIP. Mentre que el RIP s'utilitza\n" "àmpliament en xarxes petites, les xarxes complexes necessiten protocols\n" "d'encaminament més complexos." #: services.pm:107 #, c-format msgid "" "The rstat protocol allows users on a network to retrieve\n" "performance metrics for any machine on that network." msgstr "" "El protocol rstat permet que els usuaris d'una xarxa recuperin\n" "mesures de rendiment de qualsevol ordinador de la mateixa." #: services.pm:109 #, fuzzy, c-format msgid "" "Syslog is the facility by which many daemons use to log messages to various " "system log files. It is a good idea to always run rsyslog." msgstr "" "El syslog és el sistema que utilitzen molts dimonis per registrar\n" "missatges en diversos fitxers de registre del sistema. És aconsellable\n" "executar-lo sempre." #: services.pm:110 #, c-format msgid "" "The rusers protocol allows users on a network to identify who is\n" "logged in on other responding machines." msgstr "" "El protocol rusers permet que els usuaris d'una xarxa identifiquin\n" "qui està connectat en altres ordinadors de la mateixa." #: services.pm:112 #, c-format msgid "" "The rwho protocol lets remote users get a list of all of the users\n" "logged into a machine running the rwho daemon (similar to finger)." msgstr "" "El protocol rwho permet que els usuaris remots obtinguin una llista\n" "de tots els usuaris que estan connectats a un ordinador que està\n" "executant el dimoni rwho (similar al finger)." #: services.pm:114 #, c-format msgid "" "SANE (Scanner Access Now Easy) enables to access scanners, video cameras, ..." msgstr "" #: services.pm:115 #, c-format msgid "Packet filtering firewall" msgstr "" #: services.pm:116 #, c-format msgid "" "The SMB/CIFS protocol enables to share access to files & printers and also " "integrates with a Windows Server domain" msgstr "" #: services.pm:117 #, c-format msgid "Launch the sound system on your machine" msgstr "Executa el sistema de so en el vostre ordinador" #: services.pm:118 #, c-format msgid "layer for speech analysis" msgstr "" #: services.pm:119 #, c-format msgid "" "Secure Shell is a network protocol that allows data to be exchanged over a " "secure channel between two computers" msgstr "" #: services.pm:120 #, c-format msgid "" "Syslog is the facility by which many daemons use to log messages\n" "to various system log files. It is a good idea to always run syslog." msgstr "" "El syslog és el sistema que utilitzen molts dimonis per registrar\n" "missatges en diversos fitxers de registre del sistema. És aconsellable\n" "executar-lo sempre." #: services.pm:122 #, c-format msgid "Moves the generated persistent udev rules to /etc/udev/rules.d" msgstr "" #: services.pm:123 #, c-format msgid "Load the drivers for your usb devices." msgstr "Carrega els controladors per a dispositius USB." #: services.pm:124 #, c-format msgid "A lightweight network traffic monitor" msgstr "" #: services.pm:125 #, c-format msgid "Starts the X Font Server." msgstr "" #: services.pm:126 #, c-format msgid "Starts other deamons on demand." msgstr "" #: services.pm:149 #, c-format msgid "Printing" msgstr "Impressió" #: services.pm:150 #, c-format msgid "Internet" msgstr "Internet" #: services.pm:153 #, c-format msgid "File sharing" msgstr "Compartició de fitxers" #: services.pm:155 #, c-format msgid "System" msgstr "Sistema" #: services.pm:160 #, c-format msgid "Remote Administration" msgstr "Administració remota" #: services.pm:168 #, c-format msgid "Database Server" msgstr "Servidor de base de dades" #: services.pm:179 services.pm:218 #, c-format msgid "Services" msgstr "Serveis" #: services.pm:179 #, c-format msgid "Choose which services should be automatically started at boot time" msgstr "" "Escolliu els serveis que s'han d'iniciar automàticament durant l'arrencada" #: services.pm:197 #, c-format msgid "%d activated for %d registered" msgstr "%d activats per %d registrats" #: services.pm:234 #, c-format msgid "running" msgstr "s'està executant" #: services.pm:234 #, c-format msgid "stopped" msgstr "aturat" #: services.pm:239 #, c-format msgid "Services and daemons" msgstr "Serveis i dimonis" #: services.pm:245 #, c-format msgid "" "No additional information\n" "about this service, sorry." msgstr "" "Malauradament no hi ha més informació\n" "sobre aquest servei." #: services.pm:250 ugtk2.pm:924 #, c-format msgid "Info" msgstr "Informació" #: services.pm:253 #, c-format msgid "Start when requested" msgstr "Inicia quan el demanin" #: services.pm:253 #, c-format msgid "On boot" msgstr "En arrencar" #: services.pm:271 #, c-format msgid "Start" msgstr "Inicia" #: services.pm:271 #, c-format msgid "Stop" msgstr "Atura" #: standalone.pm:25 #, c-format msgid "" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" "the Free Software Foundation; either version 2, or (at your option)\n" "any later version.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public License\n" "along with this program; if not, write to the Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " "USA.\n" msgstr "" "Aquest programa és programari lliure; el podeu redistribuir i/o modificar\n" "sota els termes de la Llicència General Pública de GNU tal com l'ha\n" "publicada la Free Software Foundation, ja sigui la versió 2 com (a elecció\n" "vostra) qualsevol versió posterior.\n" "\n" "Aquest programa és distribueix amb l'esperança que serà útil, però\n" "SENSE CAP GARANTIA; sense ni tant sols la garantia implícita de\n" "MERCANTIBILITAT o ADEQUACIÓ A UNA FINALITAT DETERMINADA.\n" "En trobareu més detalls a la Llicència General Pública de GNU.\n" "\n" "Heu d'haver rebut una còpia de la Llicència General Pública de GNU\n" "amb aquest programa; si no és així, escriviu a la Free Software\n" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " "EUA.\n" #: standalone.pm:44 #, c-format msgid "" "[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n" "Backup and Restore application\n" "\n" "--default : save default directories.\n" "--debug : show all debug messages.\n" "--show-conf : list of files or directories to backup.\n" "--config-info : explain configuration file options (for non-X " "users).\n" "--daemon : use daemon configuration. \n" "--help : show this message.\n" "--version : show version number.\n" msgstr "" "[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n" "Aplicació per fer i recuperar còpies de seguretat\n" "\n" "--default : desa els directoris per defecte.\n" "--debug : mostra tots els missatges de depuració.\n" "--show-conf : llista de fitxers o directoris dels quals\n" " s'ha de fer la còpia de seguretat.\n" "--config-info : explica les opcions del fitxer de\n" " configuració (per a no-usuaris d'X).\n" "--daemon : utilitza la configuració del dimoni. \n" "--help : mostra aquest missatge.\n" "--version : mostra el número de versió.\n" #: standalone.pm:56 #, c-format msgid "" "[--boot]\n" "OPTIONS:\n" " --boot - enable to configure boot loader\n" "default mode: offer to configure autologin feature" msgstr "" "[--boot]\n" "OPCIONS:\n" " --boot - habilita la configuració del carregador d'arrencada\n" "mode per defecte: ofereix la configuració de l'entrada automàtica" #: standalone.pm:60 #, fuzzy, c-format msgid "" "[OPTIONS] [PROGRAM_NAME]\n" "\n" "OPTIONS:\n" " --help - print this help message.\n" " --report - program should be one of %s tools\n" " --incident - program should be one of %s tools" msgstr "" "[OPCIONS] [NOM_DEL_PROGRAMA]\n" "\n" "OPCIONS:\n" " --help - imprimeix aquest missatge d'ajuda.\n" " --report - el programa ha de ser una de les eines de Mageia " "Linux\n" " --incident - el programa ha de ser una de les eines de Mageia Linux" #: standalone.pm:66 #, c-format msgid "" "[--add]\n" " --add - \"add a network interface\" wizard\n" " --del - \"delete a network interface\" wizard\n" " --skip-wizard - manage connections\n" " --internet - configure internet\n" " --wizard - like --add" msgstr "" #: standalone.pm:72 #, c-format msgid "" "\n" "Font Importation and monitoring application\n" "\n" "OPTIONS:\n" "--windows_import : import from all available windows partitions.\n" "--xls_fonts : show all fonts that already exist from xls\n" "--install : accept any font file and any directory.\n" "--uninstall : uninstall any font or any directory of font.\n" "--replace : replace all font if already exist\n" "--application : 0 none application.\n" " : 1 all application available supported.\n" " : name_of_application like so for staroffice \n" " : and gs for ghostscript for only this one." msgstr "" "\n" "Aplicació d'importació de tipus de lletra i de monitorització\n" "\n" "OPCIONS:\n" "--windows_import : importa des de totes les particions de Windows " "disponibles.\n" "--xls_fonts : mostra tots els tipus de lletra que ja són a l'xls\n" "--install : accepta qualsevol fitxer de tipus de lletra i qualsevol " "directori.\n" "--uninstall : desinstal·la qualsevol tipus de lletra o qualsevol " "directori de tipus de lletra.\n" "--replace : reemplaça qualsevol tipus de lletra si ja existeix\n" "--application : 0 cap aplicació.\n" " : 1 totes les aplicacions compatibles disponibles.\n" " : nom_de_l'aplicació, com ara so per a l'StarOffice \n" " : i gs per al ghostscript per utilitzar només aquesta." #: standalone.pm:87 #, fuzzy, c-format msgid "" "[OPTIONS]...\n" "%s Terminal Server Configurator\n" "--enable : enable MTS\n" "--disable : disable MTS\n" "--start : start MTS\n" "--stop : stop MTS\n" "--adduser : add an existing system user to MTS (requires username)\n" "--deluser : delete an existing system user from MTS (requires " "username)\n" "--addclient : add a client machine to MTS (requires MAC address, IP, " "nbi image name)\n" "--delclient : delete a client machine from MTS (requires MAC address, " "IP, nbi image name)" msgstr "" "[OPCIONS]...\n" "Configurador del servidor de terminal de Mageia Linux (MTS)\n" "--enable : habilita l'MTS\n" "--disable : inhabilita l'MTS\n" "--start : inicia l'MTS\n" "--stop : atura l'MTS\n" "--adduser : afegeix a l'MTS un usuari existent al sistema (cal un nom " "d'usuari)\n" "--deluser : suprimeix de l'MTS un usuari existent al sistema (cal un " "nom d'usuari)\n" "--addclient : afegeix a l'MTS una màquina client (cal una adreça MAC, " "IP, nom d'imatge nbi)\n" "--delclient : suprimeix de l'MTS una màquina client (cal una adreça " "MAC, IP, nom d'imatge nbi)" #: standalone.pm:99 #, c-format msgid "[keyboard]" msgstr "[teclat]" #: standalone.pm:100 #, c-format msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]" msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]" #: standalone.pm:101 #, c-format msgid "" "[OPTIONS]\n" "Network & Internet connection and monitoring application\n" "\n" "--defaultintf interface : show this interface by default\n" "--connect : connect to internet if not already connected\n" "--disconnect : disconnect to internet if already connected\n" "--force : used with (dis)connect : force (dis)connection.\n" "--status : returns 1 if connected 0 otherwise, then exit.\n" "--quiet : do not be interactive. To be used with (dis)connect." msgstr "" "[OPCIONS]\n" "Aplicació de connexió a xarxes i Internet i de monitorització\n" "\n" "--defaultintf interface : per defecte, mostra aquesta interfície\n" "--connect : connecta a Internet si no ho està ja\n" "--disconnect : desconnecta d'Internet si està connectat\n" "--force : utilitzat amb (dis)connect : imposa la (des)connexió.\n" "--status : torna 1 si està connectat, 0 si no, i després surt.\n" "--quiet : no siguis interactiu. Per utilitzar amb (dis)connect." #: standalone.pm:111 #, fuzzy, c-format msgid "" "[OPTION]...\n" " --no-confirmation do not ask first confirmation question in %s Update " "mode\n" " --no-verify-rpm do not verify packages signatures\n" " --changelog-first display changelog before filelist in the " "description window\n" " --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found" msgstr "" "[OPCIÓ]...\n" " --no-confirmation no facis la primera pregunta de confirmació en el " "mode Mageia Update\n" " --no-verify-rpm no comprovis les signatures dels paquets\n" " --changelog-first mostra el registre de canvis abans de la llista de " "fitxers en la finestra de descripció\n" " --merge-all-rpmnew proposa fusionar tots els fitxers .rpmnew/.rpmsave " "trobats" #: standalone.pm:116 #, c-format msgid "" "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-" "usbtable] [--dynamic=dev]" msgstr "" "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-" "usbtable] [--dynamic=dev]" #: standalone.pm:117 #, c-format msgid "" " [everything]\n" " XFdrake [--noauto] monitor\n" " XFdrake resolution" msgstr "" " [everything]\n" " XFdrake [--noauto] monitor\n" " XFdrake resolució" #: standalone.pm:153 #, c-format msgid "" "\n" "Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--" "testing] [-v|--version] " msgstr "" "\n" "Sintaxi: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--" "testing] [-v|--version] " #: timezone.pm:161 timezone.pm:162 #, fuzzy, c-format msgid "All servers" msgstr "Afegeix un servidor" #: timezone.pm:196 #, c-format msgid "Global" msgstr "" #: timezone.pm:199 #, c-format msgid "Africa" msgstr "Àfrica" #: timezone.pm:200 #, c-format msgid "Asia" msgstr "Àsia" #: timezone.pm:201 #, c-format msgid "Europe" msgstr "Europa" #: timezone.pm:202 #, c-format msgid "North America" msgstr "Amèrica del nord" #: timezone.pm:203 #, fuzzy, c-format msgid "Oceania" msgstr "Macedònia" #: timezone.pm:204 #, c-format msgid "South America" msgstr "Amèrica del sud" #: timezone.pm:213 #, c-format msgid "Hong Kong" msgstr "Hong Kong" #: timezone.pm:250 #, c-format msgid "Russian Federation" msgstr "Rússia" #: timezone.pm:258 #, c-format msgid "Yugoslavia" msgstr "Iugoslàvia" #: ugtk2.pm:812 #, c-format msgid "Is this correct?" msgstr "Això és correcte?" #: ugtk2.pm:874 #, c-format msgid "You have chosen a file, not a directory" msgstr "Heu escollit un fitxer, no un directori" #: wizards.pm:95 #, c-format msgid "" "%s is not installed\n" "Click \"Next\" to install or \"Cancel\" to quit" msgstr "" "%s no està instal·lat\n" "Feu clic a \"Següent\" per instal·lar-lo o a \"Cancel·la\" per sortir" #: wizards.pm:99 #, c-format msgid "Installation failed" msgstr "La instal·lació ha fallat" #~ msgid "Restrict command line options" #~ msgstr "Limita les opcions de la línia d'ordres" #~ msgid "restrict" #~ msgstr "limita" #~ msgid "" #~ "Option ``Restrict command line options'' is of no use without a password" #~ msgstr "" #~ "L'opció \"Limita les opcions de la línia d'ordres\" no té cap utilitat " #~ "sense una contrasenya" #~ msgid "Use an encrypted filesystem" #~ msgstr "Usa un sistema de fitxers xifrat" #~ msgid "" #~ "To ensure data integrity after resizing the partition(s), \n" #~ "filesystem checks will be run on your next boot into Microsoft Windows®" #~ msgstr "" #~ "Per assegurar la integritat de les dades després de canviar la mida de la " #~ "o les particions,\n" #~ "les comprovacions del sistema de fitxers es realitzaran el proper cop que " #~ "arrenqueu en Windows(TM)" #~ msgid "Use the Microsoft Windows® partition for loopback" #~ msgstr "Utilitza la partició Microsoft Windows® per al loopback" #~ msgid "Which partition do you want to use for Linux4Win?" #~ msgstr "Quina partició voleu utilitzar per al Linux4Win?" #~ msgid "Choose the sizes" #~ msgstr "Escolliu les mides" #~ msgid "Root partition size in MB: " #~ msgstr "Mida de la partició arrel en MB: " #~ msgid "Swap partition size in MB: " #~ msgstr "Mida de la partició d'intercanvi en MB: " #~ msgid "" #~ "There is no FAT partition to use as loopback (or not enough space left)" #~ msgstr "" #~ "No hi ha cap partició FAT per utilitzar com a loopback (o no queda prou " #~ "espai)" #~ msgid "" #~ "The FAT resizer is unable to handle your partition, \n" #~ "the following error occurred: %s" #~ msgstr "" #~ "El redimensionador de la FAT no pot gestionar la vostra partició. \n" #~ "S'ha produït l'error següent: %s" #~ msgid "Please log out and then use Ctrl-Alt-BackSpace" #~ msgstr "Si us plau, sortiu i utilitzeu Ctrl-Alt-tecla de retrocés" #~ msgid "Welcome To Crackers" #~ msgstr "Benvinguda als crackers" #~ msgid "Poor" #~ msgstr "Pobre" #~ msgid "High" #~ msgstr "Alt" #~ msgid "Higher" #~ msgstr "Més Alt" #~ msgid "Paranoid" #~ msgstr "Paranoic" #~ msgid "" #~ "This level is to be used with care. It makes your system more easy to " #~ "use,\n" #~ "but very sensitive. It must not be used for a machine connected to " #~ "others\n" #~ "or to the Internet. There is no password access." #~ msgstr "" #~ "Aquest nivell s'ha d'utilitzar amb cura. Fa el vostre sistema molt més " #~ "fàcil\n" #~ "d'utilitzar, però també molt sensible: no s'ha d'utilitzar en un " #~ "ordinador\n" #~ "connectat a d'altres o a Internet. No cal contrasenya per accedir-hi." #~ msgid "" #~ "Passwords are now enabled, but use as a networked computer is still not " #~ "recommended." #~ msgstr "" #~ "Ara, la contrasenya està habilitada, però l'ús com a ordinador de xarxa " #~ "segueix sense ser recomanable." #~ msgid "" #~ "There are already some restrictions, and more automatic checks are run " #~ "every night." #~ msgstr "" #~ "Hi ha ja algunes restriccions, i a la nit es fan més comprovacions " #~ "automàtiques." #~ msgid "" #~ "This is similar to the previous level, but the system is entirely closed " #~ "and security features are at their maximum." #~ msgstr "" #~ "Aquest és similar al nivell anterior, però el sistema està completament " #~ "tancat i les característiques de seguretat estan al màxim." #~ msgid "" #~ "\n" #~ "Warning\n" #~ "\n" #~ "Please read carefully the terms below. If you disagree with any\n" #~ "portion, you are not allowed to install the next CD media. Press " #~ "'Refuse' \n" #~ "to continue the installation without using these media.\n" #~ "\n" #~ "\n" #~ "Some components contained in the next CD media are not governed\n" #~ "by the GPL License or similar agreements. Each such component is then\n" #~ "governed by the terms and conditions of its own specific license. \n" #~ "Please read carefully and comply with such specific licenses before \n" #~ "you use or redistribute the said components. \n" #~ "Such licenses will in general prevent the transfer, duplication \n" #~ "(except for backup purposes), redistribution, reverse engineering, \n" #~ "de-assembly, de-compilation or modification of the component. \n" #~ "Any breach of agreement will immediately terminate your rights under \n" #~ "the specific license. Unless the specific license terms grant you such\n" #~ "rights, you usually cannot install the programs on more than one\n" #~ "system, or adapt it to be used on a network. In doubt, please contact \n" #~ "directly the distributor or editor of the component. \n" #~ "Transfer to third parties or copying of such components including the \n" #~ "documentation is usually forbidden.\n" #~ "\n" #~ "\n" #~ "All rights to the components of the next CD media belong to their \n" #~ "respective authors and are protected by intellectual property and \n" #~ "copyright laws applicable to software programs.\n" #~ msgstr "" #~ "\n" #~ "Avís\n" #~ "\n" #~ "Si us plau, llegiu atentament les clàusules següents. Si no esteu\n" #~ "d'acord amb qualsevol d'elles, no esteu autoritzat a instal·lar\n" #~ "els CD següents. Premeu 'Rebutja' per continuar la instal·lació\n" #~ "sense utilitzar aquests CD.\n" #~ "\n" #~ "\n" #~ "Alguns dels components que s'inclouen en aquest CD no estan\n" #~ "regits per la llicència GPL o acords semblants. Cadascun d'aquests\n" #~ "components es regeix per les clàusules i condicions de la seva\n" #~ "pròpia llicència específica. Si us plau, llegiu atentament i\n" #~ "accepteu aquestes llicències específiques abans d'utilitzar o\n" #~ "redistribuir els components esmentats. En general, aquestes\n" #~ "llicències impedeixen la transferència, duplicació (excepte amb\n" #~ "la finalitat de fer-ne còpies de seguretat), redistribució,\n" #~ "enginyeria inversa, desassemblatge, decompilació o modificació del\n" #~ "component. Qualsevol violació de l'acord finalitzarà immediatament\n" #~ "els vostres drets sobre la llicència específica. Tret que la\n" #~ "llicència específica us en garanteixi els drets, normalment no\n" #~ "podreu instal·lar els programes en més d'un sistema, ni adaptar-lo\n" #~ "per utilitzar-lo en una xarxa. En cas de dubte, poseu-vos en\n" #~ "contacte directament amb el distribuïdor o editor del component.\n" #~ "La transferència a terceres parts i la còpia d'aquests components,\n" #~ "incloent la documentació, estan en general prohibides.\n" #~ "\n" #~ "\n" #~ "Tots els drets sobre els components del CD següent pertanyen als\n" #~ "seus autors respectius i estan protegits per les lleis de\n" #~ "propietat intel·lectual i de copyright aplicables als programes\n" #~ "informàtics.\n" #~ msgid "Use libsafe for servers" #~ msgstr "Empra libsafe per als servidors" #~ msgid "" #~ "A library which defends against buffer overflow and format string attacks." #~ msgstr "" #~ "Una llibreria que defensa contra els atacs de 'buffer overflow' i de " #~ "'format string'." #~ msgid "LILO/grub Installation" #~ msgstr "Instal·lació del LILO/grub" #~ msgid "Precise RAM size if needed (found %d MB)" #~ msgstr "Mida exacta de la RAM, si cal (s'han trobat %d MB)" #~ msgid "Give the ram size in MB" #~ msgstr "Introduïu la mida de la RAM en MB" #~ msgid "" #~ "If you plan to use aboot, be careful to leave a free space (2048 sectors " #~ "is enough)\n" #~ "at the beginning of the disk" #~ msgstr "" #~ "Si penseu utilitzar aboot, assegureu-vos de deixar espai lliure (amb " #~ "2048\n" #~ "sectors n'hi ha prou) al començament del disc" #~ msgid "Security level" #~ msgstr "Nivell de seguretat" #~ msgid "Expand Tree" #~ msgstr "Expandeix l'arbre" #~ msgid "Collapse Tree" #~ msgstr "Redueix l'arbre" #~ msgid "Toggle between flat and group sorted" #~ msgstr "Commuta entre pla i ordenat per grups" #~ msgid "Choose action" #~ msgstr "Trieu una acció" #~ msgid "Active Directory with SFU" #~ msgstr "Active Directory amb SFU" #~ msgid "Active Directory with Winbind" #~ msgstr "Active Directory amb Winbind" #~ msgid "Active Directory with SFU:" #~ msgstr "Active Directory amb SFU:" #~ msgid "Active Directory with Winbind:" #~ msgstr "Active Directory amb Winbind:" #~ msgid "Authentication LDAP" #~ msgstr "Autenticació LDAP" #~ msgid "TLS" #~ msgstr "TLS" #~ msgid "SSL" #~ msgstr "SSL" #~ msgid "LDAP users database" #~ msgstr "Base de dades LDAP" #~ msgid "Authentication NIS" #~ msgstr "Autenticació NIS" #~ msgid "" #~ "For this to work for a W2K PDC, you will probably need to have the admin " #~ "run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /" #~ "add and reboot the server.\n" #~ "You will also need the username/password of a Domain Admin to join the " #~ "machine to the Windows(TM) domain.\n" #~ "If networking is not yet enabled, Drakx will attempt to join the domain " #~ "after the network setup step.\n" #~ "Should this setup fail for some reason and domain authentication is not " #~ "working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows" #~ "(tm) Domain, and Admin Username/Password, after system boot.\n" #~ "The command 'wbinfo -t' will test whether your authentication secrets are " #~ "good." #~ msgstr "" #~ "Per tal que funcioni en un W2K PDC, segurament haureu de fer que " #~ "l'administrador executi C:\\>net localgroup \"Accés compatible amb " #~ "versions anteriors a Windows 2000\" everyone /add\" i que reiniciï el " #~ "servidor.\n" #~ "També necessitareu el nom d'usuari i la contrasenya d'un administrador " #~ "del domini per poder connectar la màquina al domini de Windows(TM).\n" #~ "Si la xarxa encara no està habilitada, DrakX provarà de connectar-se al " #~ "domini després del pas de configuració de la xarxa.\n" #~ "Si aquesta configuració fallés per algun motiu i l'autenticació no " #~ "funcionés, executeu 'smbpasswd -j DOMINI -U USUARI%%CONTRASENYA' passant " #~ "com a paràmetres el domini Windows en qüestió i el nom d'usuari i la " #~ "contrasenya de l'administrador, després que arrenqui el sistema.\n" #~ "L'ordre 'wbinfo -t' comprovarà si els secrets d'autenticació són bons." #~ msgid "Authentication Windows Domain" #~ msgstr "Autenticació en el domini de Windows" #~ msgid "Undo" #~ msgstr "Desfés" #~ msgid "Save partition table" #~ msgstr "Escriu la taula de particions" #~ msgid "Restore partition table" #~ msgstr "Restaura la taula de particions" #~ msgid "" #~ "The backup partition table has not the same size\n" #~ "Still continue?" #~ msgstr "" #~ "La còpia de seguretat de la taula de particions no té la mateixa mida\n" #~ "Voleu continuar igualment?" #~ msgid "Info: " #~ msgstr "Informació: " #~ msgid "Unknown driver" #~ msgstr "Controlador desconegut" #~ msgid "Error reading file %s" #~ msgstr "S'ha produït un error en llegir el fitxer %s" #~ msgid "Restoring from file %s failed: %s" #~ msgstr "Ha fallat la restauració des del fitxer %s: %s" #~ msgid "Bad backup file" #~ msgstr "Fitxer de còpia de seguretat incorrecte" #~ msgid "Error writing to file %s" #~ msgstr "S'ha produït un error en escriure al fitxer %s" #~ msgid "Error: The \"%s\" driver for your sound card is unlisted" #~ msgstr "" #~ "Error: el programa de control \"%s\" per a la vostra targeta de so no és " #~ "a la llista" #~ msgid "Ext2" #~ msgstr "Ext2" #~ msgid "Journalised FS" #~ msgstr "Journalised FS" #~ msgid "Starts the X Font Server (this is mandatory for Xorg to run)." #~ msgstr "Inicia l'X Font Server (això és necessari perquè l'Xorg funcioni)." #~ msgid "Add user" #~ msgstr "Afegeix un usuari" #~ msgid "Accept user" #~ msgstr "Accepta l'usuari" #, fuzzy #~ msgid "" #~ "Do not update directory inode access times on this filesystem\n" #~ "(e.g, for faster access on the news spool to speed up news servers)." #~ msgstr "" #~ "No actualitzeu els temps d'accés a inode en aquest sistema de fitxers (p." #~ "ex. per a un accés\n" #~ "més ràpid a l'\"spool\" de grups de discussió per accelerar els servidor " #~ "de grups de discussió)." #~ msgid "No supermount" #~ msgstr "Sense supermount" #~ msgid "Supermount" #~ msgstr "Supermount" #~ msgid "Supermount except for CDROM drives" #~ msgstr "Supermount excepte pels CDROM" #~ msgid "Rescue partition table" #~ msgstr "Recupera la taula de particions" #~ msgid "Removable media automounting" #~ msgstr "Muntatge automàtic dels dispositius extraïbles" #~ msgid "Trying to rescue partition table" #~ msgstr "S'està intentant recuperar la taula de particions" #~ msgid "Accept/Refuse bogus IPv4 error messages." #~ msgstr "Accepta/Rebutja els missatges d'error IPv4 falsos." #~ msgid "Accept/Refuse broadcasted icmp echo." #~ msgstr "Accepta/Refusa l'eco icmp broadcast." #~ msgid "Accept/Refuse icmp echo." #~ msgstr "Accepta/Rebutja l'eco icmp." #~ msgid "Allow/Forbid remote root login." #~ msgstr "Permet/Impedeix l'entrada de root remota." #~ msgid "Enable/Disable IP spoofing protection." #~ msgstr "Habilita/Inhabilita la protecció contra falsejament de la IP." #~ msgid "Enable/Disable libsafe if libsafe is found on the system." #~ msgstr "Habilita/Inhabilita el libsafe si és que es troba al sistema." #~ msgid "Enable/Disable the logging of IPv4 strange packets." #~ msgstr "Habilita/Inhabilita el registre de paquets IPv4 estranys." #~ msgid "Enable/Disable msec hourly security check." #~ msgstr "Habilita/Inhabilita la comprovació de seguretat msec horària." #~ msgid "Number of capture buffers:" #~ msgstr "Nombre de memòries intermèdies de captura:" #~ msgid "number of capture buffers for mmap'ed capture" #~ msgstr "nombre de memòries intermèdies per a captures amb MMAP" #~ msgid "PLL setting:" #~ msgstr "Configuració del PLL:" #~ msgid "Radio support:" #~ msgstr "Permet l'ús de la ràdio:" #~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]" #~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"