Compare commits
834 Commits
release/1.4.0
...
test
| Author | SHA1 | Date | |
|---|---|---|---|
| 65f0060888 | |||
| 2c0ced322d | |||
| a203e7f608 | |||
| 63a67542f4 | |||
| 2e2c3019a2 | |||
| e8ded23a4a | |||
| 21e0714a08 | |||
| 413bbd0c7f | |||
| 32b451ce87 | |||
| b80ad0a892 | |||
| 1ccb4b7adc | |||
| da622a4927 | |||
| 4488ccc689 | |||
| 98329f3b05 | |||
| ecef4f11dc | |||
| 3b9f137061 | |||
| 897fc8c4d4 | |||
| 2758e23381 | |||
| 9d9f5d06a8 | |||
| c589b59dd5 | |||
| dc84431768 | |||
| 0705ea6bae | |||
| c52e2eeb1f | |||
| 58dbe2c027 | |||
| 88c288fdda | |||
| f5e25dcb8d | |||
| e06311a514 | |||
| cb97394211 | |||
| dda51232b9 | |||
| a00cb2d38c | |||
| f92a0fe140 | |||
| b575fe893b | |||
| 54b1b35df5 | |||
| 06a0f742f2 | |||
| 3a5a15fe77 | |||
| 7123326515 | |||
| 4aa52a6b52 | |||
| 9234d80246 | |||
| 10be96814e | |||
| a6d867e4cc | |||
| 4b8de1897b | |||
| 09eaa5b7e3 | |||
| 9df5853942 | |||
| c17e0c94c8 | |||
| b70dda997a | |||
| d10e6aad70 | |||
| e1d58ab635 | |||
| 3b6f981b81 | |||
| d93e31e92a | |||
| 43a91313d8 | |||
| 682811f769 | |||
| cece87f9dc | |||
| e884bb61cb | |||
| 68085ab742 | |||
| 7c210a4855 | |||
| 2746bf5b45 | |||
| f9941827b1 | |||
| 48b4622aca | |||
| 2a442d333c | |||
| 84204a718a | |||
| 5be5c84a26 | |||
| a218924ba0 | |||
| 316417961a | |||
| b1da65fbe4 | |||
| 0aca063077 | |||
| 11091244f6 | |||
| d1a4092c61 | |||
| 11c80384f1 | |||
| ab236f2d6a | |||
| 97924574c4 | |||
| e3831b6f52 | |||
| c93f3bc5c3 | |||
| 278fdfd8c3 | |||
| 2836d0ea81 | |||
| ac7bdda074 | |||
| 057679a2bf | |||
| 5d923f8ca3 | |||
| 7d0714dd1a | |||
| 8dd55af6cd | |||
| 22c2a5c276 | |||
| f346bcc8fa | |||
| dc71f4a292 | |||
| dea18f997c | |||
| 71d11b6205 | |||
| 9da00a807d | |||
| cfc3e54f30 | |||
| 2dbe594da2 | |||
| 36b548140e | |||
| 3c5c47b91b | |||
| 6fc25c69f4 | |||
| ff997cb014 | |||
| 09599e4c20 | |||
| 844c73cd7f | |||
| d6cb1b119f | |||
| 52880f9d5a | |||
| 659d1f6ad9 | |||
| 7952075ce5 | |||
| 52d057ef18 | |||
| 869b040e92 | |||
| 0db88d63e3 | |||
| 92994b4997 | |||
| 638fb082c5 | |||
| fca80abbaf | |||
| a6bfd402b6 | |||
| a55b4c65d2 | |||
| 5ec9d8b623 | |||
| ff6b5736c3 | |||
| d47d7cc452 | |||
| 90022ce039 | |||
| 50a96809d8 | |||
| a08c124748 | |||
| b522a168e3 | |||
| e5cb38bd74 | |||
| 7dfb8b320e | |||
| 34c1e8a38a | |||
| 4fd96675f3 | |||
| a5edc4fc01 | |||
| 2a99d234ea | |||
| 8b61cad014 | |||
| bdd1949a96 | |||
| 9ea13af860 | |||
| b83d0214c7 | |||
| ef54781b77 | |||
| cc1567ac4b | |||
| f403eadb2c | |||
| 94c030829d | |||
| ce5aadf30d | |||
| 9fbf9e4ff4 | |||
| dc7f752128 | |||
| c1549d2909 | |||
| c509723f29 | |||
| 06e9d437e0 | |||
| 2d02452e17 | |||
| 630ac20a38 | |||
| f3dddfeb0e | |||
| 86c2d64dbf | |||
| 73cfbace70 | |||
| 18b76f3e23 | |||
| 6369056914 | |||
| 128c44f5a3 | |||
| 3264fdd1d9 | |||
| c2a0bee7dc | |||
| 9efa9471bd | |||
| f05f1eb80d | |||
| d65e257f92 | |||
| 8b8550e9ca | |||
| 81511e386a | |||
| 60f8cd1803 | |||
| 0bb33e7ea4 | |||
| 94de21361e | |||
| f0636d4369 | |||
| 0d7979e901 | |||
| 3cd3e4a888 | |||
| 29ec29bde7 | |||
| 6b834c745a | |||
| 5be6ec9e71 | |||
| 3d5465334c | |||
| f6d30a5b57 | |||
| d773b86906 | |||
| 1fbb802e8f | |||
| 5ff6106d37 | |||
| 26d868b123 | |||
| d7d692bb37 | |||
| d5c07f18ad | |||
| a1f0b0963b | |||
| 57f31ec7eb | |||
| c8908b7b34 | |||
| 42f8947e7c | |||
| 61d9bf34d3 | |||
| 9e236f65a3 | |||
| 762e8a739d | |||
| 78714e83cf | |||
| aa7e19b896 | |||
| cf7f601cb0 | |||
| c8881889c8 | |||
| 462931a309 | |||
| f92d3a3481 | |||
| 92d853ce3c | |||
| 2ae309abc3 | |||
| b5ae2d0351 | |||
| d3a29e7ad9 | |||
| 0bad2c7249 | |||
| 1c2c733190 | |||
| ffa8dc2bb8 | |||
| 7a4b57d1ff | |||
| d87726bd6e | |||
| 498c142198 | |||
| 3d43700556 | |||
| 762773cedb | |||
| c2a62804b0 | |||
| 9ef55ca07c | |||
| 3000e3aec0 | |||
| 59408774fb | |||
| e35b955159 | |||
| 3ddec99837 | |||
| fbb877ab11 | |||
| 216786a6de | |||
| dd836497e3 | |||
| 8412ccdc12 | |||
| 8f5c164e38 | |||
| c82f0a4fdd | |||
| f5600865e0 | |||
| 82a1127c64 | |||
| 0065e355aa | |||
| bf2127dbd0 | |||
| 5fa638a3e1 | |||
| e1255373cb | |||
| 4950009248 | |||
| 62e765f70a | |||
| 74654f2703 | |||
| 92de2ef16f | |||
| bb60dca5eb | |||
| 480474d7be | |||
| d15d55abe3 | |||
| 2b64983464 | |||
| c0a9f3155a | |||
| f86e98167f | |||
| 9b64d7d64d | |||
| 4609e200ae | |||
| 8b739c5a59 | |||
| 27cd77358c | |||
| 1418745b00 | |||
| 9bb87bf8d6 | |||
| 59df184bab | |||
| 7a1c96d2cb | |||
| d468e2ba8d | |||
| 57ba299543 | |||
| 48b1de8314 | |||
| 8e395d421e | |||
| 740ac61bb2 | |||
| 6660cdf6e2 | |||
| 670aa32325 | |||
| 5e705a124b | |||
| 9540ef6005 | |||
| f723d120d9 | |||
| fc2a1d8afe | |||
| bc629db132 | |||
| 0777291e80 | |||
| ce053ccfa6 | |||
| a15dd41550 | |||
| 09b6b34b05 | |||
| 9a7eb0f450 | |||
| 54e602c5e6 | |||
| 157dbfd08a | |||
| 666ab706a6 | |||
| 20cd4d7c44 | |||
| 4cbdd43738 | |||
| 833ea4fcb2 | |||
| eb1b20ab96 | |||
| 439e786294 | |||
| b79fb38300 | |||
| 93e183be62 | |||
| b33e9fc93e | |||
| 63e2fb9005 | |||
| 4fca0c4271 | |||
| e1ff07318e | |||
| e3151c1da9 | |||
| 2d2451f78d | |||
| 9154b9ba5b | |||
| f238aa5051 | |||
| 52e1b8bd86 | |||
| 433b8d5d1b | |||
| 4fa1d0f494 | |||
| 403dec5e39 | |||
| 9b65fed9f0 | |||
| a678946032 | |||
| c78cadb159 | |||
| 3ae38a14f0 | |||
| a63fe5b26c | |||
| dc47e1a511 | |||
| aa75f4455d | |||
| f93ab41140 | |||
| 78df776449 | |||
| bca8273fb5 | |||
| 4c2564e276 | |||
| bec3e355a9 | |||
| 5ad97801b0 | |||
| aeb7b08371 | |||
| e071f3e7b6 | |||
| 6a0f9f15e5 | |||
| 44beb6d15c | |||
| d738ec2121 | |||
| f709968463 | |||
| 7f9af84093 | |||
| fc4959c3bb | |||
| 235c69e9b9 | |||
| 7a8afbb353 | |||
| 413c39184d | |||
| f73641eff9 | |||
| 81837c9fe0 | |||
| df3b1a1a39 | |||
| 1b97952601 | |||
| e9ea91d260 | |||
| 6d2dd57df8 | |||
| 7ffd86e14a | |||
| 0376a00d73 | |||
| 6389c3b34e | |||
| 1aeea01c6f | |||
| c2c7ea84d5 | |||
| a6d95ae8f9 | |||
| dc582eec54 | |||
| bfa48a8ca9 | |||
| 19aed9f9c8 | |||
| af80380f23 | |||
| fbd5a55c5d | |||
| 7e4edb18d4 | |||
| 2e646af56a | |||
| 23d2a915dc | |||
| fa7ff6a9c6 | |||
| fda869f1dc | |||
| 1871e2e580 | |||
| 9897d92e53 | |||
| 1ef67972df | |||
| e90be519a7 | |||
| d04d18dff2 | |||
| 05fab1c999 | |||
| 8560c89e06 | |||
| d2768b1f11 | |||
| 60f87fd294 | |||
| 736d07a30b | |||
| 2bc3167dbd | |||
| 17e1b30175 | |||
| b78be61ee8 | |||
| 3b8b5871a6 | |||
| 19eca49d2a | |||
| 6d02706d4d | |||
| 550a92684e | |||
| e6f94c924d | |||
| b863ad6b78 | |||
| 157291c2d5 | |||
| 246f307980 | |||
| 67b9c0b462 | |||
| d82c75d7cc | |||
| 03ec0ddfbb | |||
| d02d09bb9a | |||
| dc98f61d69 | |||
| a62c975c7e | |||
| ee6e67243d | |||
| ef8c1ebb88 | |||
| b6a23d69d6 | |||
| 530812f810 | |||
| fd361d47ed | |||
| 401c8a7637 | |||
| a963f5a881 | |||
| 07217e25ab | |||
| 3ce9dfb10f | |||
| eddedfdf1b | |||
| 1f07d8eb15 | |||
| f4368f54c5 | |||
| bd032dff36 | |||
| e859e47d1b | |||
| 4175b06039 | |||
| 6df436c718 | |||
| b20f3a8762 | |||
| 503e1cf7d4 | |||
| 5fc25ab8f6 | |||
| 6381a2192e | |||
| b691e143a2 | |||
| afdf6ce778 | |||
| def0559a55 | |||
| 84cc97dc78 | |||
| 89df65c884 | |||
| 9331690b0d | |||
| c6189e5020 | |||
| 54f7682e1a | |||
| 1baa3f0fb6 | |||
| ed543e8825 | |||
| aa0493e4f0 | |||
| c7646bd600 | |||
| 9ea153b402 | |||
| d90810afd7 | |||
| d12ac86d66 | |||
| 8579bde607 | |||
| c7ab8534f1 | |||
| cde3ef9689 | |||
| 17b88b6a4f | |||
| 95f5de544d | |||
| 4ae8d8ac8c | |||
| 50bed824f6 | |||
| 9368da2c04 | |||
| 4182d9f506 | |||
| 757e89467a | |||
| aac1532b7e | |||
| d866ca71e1 | |||
| 15ef81533f | |||
| beac023875 | |||
| 56f36ec5e6 | |||
| 42d6ad6111 | |||
| 9f8cab5626 | |||
| 42cc06886a | |||
| 20d7e4bc10 | |||
| 3f1ed50f67 | |||
| 68bedd1c60 | |||
| 335defc9bf | |||
| a0c9edd43c | |||
| 214189883e | |||
| 34d8af3e2c | |||
| f415855612 | |||
| b68dedc1b8 | |||
| c14cec048b | |||
| ecb0933c17 | |||
| 138afb26c4 | |||
| 3d56224bb6 | |||
| 025a7de060 | |||
| f0da7146eb | |||
| 2a4e486a6e | |||
| 5b2f950d40 | |||
| 71c30a952c | |||
| e0bc0bc714 | |||
| 4682ba010f | |||
| 96f6c86d74 | |||
| f79409e534 | |||
| 70034113b4 | |||
| eff54adcc1 | |||
| 0671f8b758 | |||
| 5c57c5d3e4 | |||
| 9e28763bef | |||
| 3653a5d803 | |||
| 02c1304b99 | |||
| e9c403c8ea | |||
| fc3f6384f2 | |||
| e4322d620a | |||
| f9362749b1 | |||
| d2efdade19 | |||
| 9f420e67d2 | |||
| 8314548711 | |||
| 537b721044 | |||
| 9b0a86f421 | |||
| 7b4592830b | |||
| ab04d85d7e | |||
| 9c0844f0ed | |||
| 6abf8222d7 | |||
| 30bac18a85 | |||
| 36d2904bc4 | |||
| 32be6c8be1 | |||
| b2d5e9ba92 | |||
| d2831a8a46 | |||
| 42fb04283f | |||
| 4bfcabdeb5 | |||
| e8a6c3f1de | |||
| 59f0c3fb63 | |||
| 5b9c00c4a7 | |||
| 5b7cdce88d | |||
| 64e2ffe48f | |||
| ef30ef228d | |||
| 6495414dc9 | |||
| d8ab25d565 | |||
| 3f87e16329 | |||
| 688d2523c3 | |||
| 7b95e5b1e3 | |||
| 840f6bfd2b | |||
| 061f0403e2 | |||
| 1131b50d0e | |||
| 934f7cea9c | |||
| fae5f9140f | |||
| 91f831a02a | |||
| ff3066d2e5 | |||
| bebf5931a1 | |||
| d3fea58709 | |||
| 28df302283 | |||
| 4f0fa4d100 | |||
| 105cd37dfe | |||
| 568f1e9f48 | |||
| 308f3cf32e | |||
| 8bc6837b45 | |||
| a46b3e060a | |||
| 4040450c79 | |||
| f92860e8ec | |||
| 1fcf0363e2 | |||
| d48b633baa | |||
| 3b07b39d89 | |||
| 989b2b3650 | |||
| 276a22f1c1 | |||
| 5d1b9dcf38 | |||
| 7511778b32 | |||
| 2372699f7c | |||
| 282e47c912 | |||
| ab35a9d47f | |||
| 13240beac8 | |||
| 1611f85a96 | |||
| b3c36107d7 | |||
| 1db30228d5 | |||
| 66e88a2eed | |||
| 89f0ca5a3f | |||
| 0985e4f525 | |||
| fbc4a079be | |||
| 230e42ecab | |||
| 9d6b42da80 | |||
| b56c1d2650 | |||
| 4679589655 | |||
| e61e7f1664 | |||
| 0168309535 | |||
| b1034ce084 | |||
| cd24c91fb1 | |||
| 18aef3aaad | |||
| fe12e11b62 | |||
| ef982ee350 | |||
| c757639805 | |||
| 3972d48835 | |||
| 82b1211f6f | |||
| 849ad8dfc5 | |||
| d24027f359 | |||
| 354c8e5361 | |||
| c40fe02b51 | |||
| 82a230e072 | |||
| 597f617c79 | |||
| ed2a5ba8f6 | |||
| 6982a88ee9 | |||
| 85903cf28c | |||
| bd13ef3f48 | |||
| 5586940832 | |||
| 54269334b6 | |||
| de27cad435 | |||
| 3a1a39c9d8 | |||
| 9869c0b32e | |||
| 4b9fd397db | |||
| 9578aba58c | |||
| ba9f2336ec | |||
| 0f7deb6c79 | |||
| 3acc19c8eb | |||
| de58e527e4 | |||
| 12275b622f | |||
| d1eac6eefe | |||
| e470b63f42 | |||
| 4da158cf36 | |||
| d1141471ab | |||
| 4be3a68477 | |||
| 01238d5506 | |||
| d8582ec582 | |||
| c239d87390 | |||
| 39e0f2e115 | |||
| 0d4d99e324 | |||
| 0f47283e52 | |||
| aed17ac521 | |||
| 5e5f2b38cd | |||
| aabce8735e | |||
| 36105fb728 | |||
| d088d37ca2 | |||
| 2d13211269 | |||
| b2eb76893f | |||
| 607f1d762b | |||
| 15a9be6e2f | |||
| 85fae04df3 | |||
| ef5cd6efca | |||
| ae13d68764 | |||
| 48d3770f26 | |||
| 204ee1ed90 | |||
| adab096319 | |||
| 2a62dd214f | |||
| febcdce8c2 | |||
| f6fdc5f5ee | |||
| fb152cb36e | |||
| 1dfa03bafe | |||
| 4232c4640d | |||
| f1c65815da | |||
| e0957c0a0d | |||
| e9412a448e | |||
| b10a649865 | |||
| ea4ce728b0 | |||
| 0fd7e81acd | |||
| 4af744e735 | |||
| f8bef82acc | |||
| 013df362ca | |||
| 3811b43fa3 | |||
| 581f73c857 | |||
| 774f4b39b7 | |||
| 36faad1880 | |||
| 3c878dee49 | |||
| 8a33548396 | |||
| dae16c6767 | |||
| a5d826c6d4 | |||
| 6d84720404 | |||
| 5886c1ec53 | |||
| bbb2e66233 | |||
| dd4b3e8632 | |||
| 5cffab8649 | |||
| 211f16e129 | |||
| 0285a47ae3 | |||
| 16da18d307 | |||
| c450e7cd54 | |||
| 47c666200e | |||
| 208a1f8509 | |||
| f22ab85814 | |||
| 0618947350 | |||
| 9f9527d200 | |||
| 8a2a87911c | |||
| 61fef3b82b | |||
| ac8d0278ad | |||
| d9bd3a2626 | |||
| 7ced6400cc | |||
| db7e0808eb | |||
| d328ea4175 | |||
| 0f69467340 | |||
| 96efad2c5a | |||
| 79454f3480 | |||
| 31f7cfc31f | |||
| 9d829ff64d | |||
| 7a15e24f7b | |||
| be8098a4ad | |||
| 0df7bec0c8 | |||
| 57b153c9a9 | |||
| 8183291381 | |||
| d91e3c20d2 | |||
| 15cbfa870f | |||
| 4a74eed4a7 | |||
| 1dd7a8d739 | |||
| 86cf384b66 | |||
| c32f99b310 | |||
| acecda7f6a | |||
| cc3d0712cb | |||
| 1baa52c677 | |||
| f4de98424f | |||
| 0d4b178072 | |||
| 58f2191d51 | |||
| e2c8d36567 | |||
| 30534ad0d6 | |||
| afff5cb0eb | |||
| 6203b5b441 | |||
| b31d644b92 | |||
| 6f87e4aa6b | |||
| 6cf124b6c9 | |||
| 7c86a45848 | |||
| f7731bc675 | |||
| dcb7266dfb | |||
| 0e9d36f6bc | |||
| 6ae189010b | |||
| 4eb731fc0c | |||
| f6d517b930 | |||
| a475295784 | |||
| 9c266c5f33 | |||
| 7a8cc6a571 | |||
| 0ad4defb6b | |||
| 7f77647048 | |||
| 9fcf183653 | |||
| 565ee3cc1b | |||
| e41a8522fc | |||
| b558de8a23 | |||
| 43a474b417 | |||
| 73eb2a1133 | |||
| 1ea056609b | |||
| 4f01ccd5de | |||
| 7b4044c15d | |||
| 4e792ea460 | |||
| aac2370fe8 | |||
| 4831f6ef13 | |||
| bc20a71a52 | |||
| a955ba0658 | |||
| b9fb758910 | |||
| 655a7e48e0 | |||
| 5060e08771 | |||
| 98eceff549 | |||
| 9df9f7a12d | |||
| 241d6f4c37 | |||
| ad956d686e | |||
| e7ee4ea91d | |||
| f29b43b956 | |||
| 1fe3b7d8fc | |||
| fdd3b4dbf5 | |||
| fcecc07f5e | |||
| 6fc8a6e9c7 | |||
| bb73941451 | |||
| 68570d7271 | |||
| 5546bb55ea | |||
| ad6387126a | |||
| 5f468c6f05 | |||
| 1aed48a0ce | |||
| 2cc7b33380 | |||
| 21655f6818 | |||
| 0d41ee90f6 | |||
| c5321149a1 | |||
| 3e929454ff | |||
| 7147b4a316 | |||
| 2770ffa9a5 | |||
| e7672c109d | |||
| a63078e8f9 | |||
| ce0ec4b806 | |||
| e97796e4f2 | |||
| 57b0d0e84d | |||
| 86a3da69de | |||
| 3fd3e6ba85 | |||
| a26aae6348 | |||
| 7fefc6747e | |||
| 0569ea9ea3 | |||
| d99bfcc3ba | |||
| 8616862f66 | |||
| 85f792ffd7 | |||
| ab30cdfb8e | |||
| 3a795b247b | |||
| ab36105cc9 | |||
| 932a33666d | |||
| 5866197c5c | |||
| 5cbd1906ae | |||
| c39fd89675 | |||
| c6b45f7968 | |||
| 6049b5e883 | |||
| f165d3dd4f | |||
| dfa22f949b | |||
| d23ac6e923 | |||
| 8005ec88ee | |||
| c8336de72e | |||
| d40820fd5a | |||
| 5a2b2a5288 | |||
| 8283c01cc7 | |||
| 795f56f545 | |||
| c2ad8c641c | |||
| 350db91dd2 | |||
| 2bff049d90 | |||
| bf4de722a7 | |||
| 84e08c567f | |||
| 7c677f3193 | |||
| 2e6eafbb2e | |||
| 5af69352b5 | |||
| 8e3ce7d32e | |||
| 3a688a095f | |||
| 6d933c2dbe | |||
| 8cff85b7ad | |||
| eeb79b3ab5 | |||
| e39319da1f | |||
| 8affa9fabe | |||
| 962221be3b | |||
| b9402e6283 | |||
| f35561ff59 | |||
| cea87404e3 | |||
| e6cafaaa5c | |||
| 1a21cd0756 | |||
| 18e3becb53 | |||
| 76fe2187fc | |||
| 803da78526 | |||
| f581e8b738 | |||
| 08c2fc78ec | |||
| dd16be0a61 | |||
| 0c5eb64ffa | |||
| 895c1c41df | |||
| 9fa6ef6851 | |||
| 8753716ceb | |||
| 6e51cc756d | |||
| 4903382056 | |||
| c0a1f4e5cd | |||
| 5fd09d8783 | |||
| 5f28f1068f | |||
| 7e4aa98ce2 | |||
| 07e80aba8f | |||
| bc8c6993b7 | |||
| f93fd5181b | |||
| fe1576ba65 | |||
| 23cc755aa8 | |||
| 1997af872f | |||
| a3a7a36669 | |||
| e0ffb9670d | |||
| 13c17f1d3a | |||
| 81fbea171b | |||
| 24b53d5355 | |||
| e893a65658 | |||
| 43c09e8b8c | |||
| 916dba3f06 | |||
| a8e008de07 | |||
| 2114aa939b | |||
| 8602065490 | |||
| 6da9d718cc | |||
| 2372950563 | |||
| 1e82b04382 | |||
| 2fd6ac37d0 | |||
| 73c7a22900 | |||
| 5aad9e95b5 | |||
| 4c9e37fa6e | |||
| 9f912b3824 | |||
| dc41218cee | |||
| fe60e5e5db | |||
| 74368ec9d4 | |||
| 62b9104a68 | |||
| b328a2b496 | |||
| ab920ac0e1 | |||
| 6f576c29ea | |||
| d0d275a6c4 | |||
| f575aa9b5f | |||
| 3eb9822c09 | |||
| bd0d9fda22 | |||
| 18c802ae09 | |||
| 3e91f03b40 | |||
| 057f66cf31 | |||
| ad47713641 | |||
| df507a9de5 | |||
| 59080727cf | |||
| 95b9af557f | |||
| 84a49321f1 | |||
| dc61ab7e83 | |||
| 9479f1f801 | |||
| 62d2d2a8b3 | |||
| 500c774f31 | |||
| 88b52d86ab | |||
| a0f24b3cbf | |||
| 0db889af38 | |||
| 0cff10b177 | |||
| d6fa819fa1 | |||
| 6817fafcca | |||
| e062cbcb0e | |||
| f8fd872bde | |||
| 5ffa558327 | |||
| b9064e3eee | |||
| 106aeab194 | |||
| 36983898f1 | |||
| 3cf4cd62f8 | |||
| 88dabcc4e1 | |||
| db80f6300f | |||
| 7ff8038907 | |||
| cfbe458e9a | |||
| 66eb2d1c38 | |||
| 0d6ea89ad3 | |||
| 2597a6260f | |||
| 8e6fa13c72 | |||
| bbf634aab7 | |||
| 4c0e669d51 | |||
| 65cb30498e | |||
| 94828f71d1 | |||
| 211659a5bf | |||
| 659a3383c9 | |||
| be00ce4fc5 | |||
| 48c2387853 | |||
| eb595aadcc | |||
| b927953ff3 | |||
| 6c9203a7be | |||
| 462e1d0400 | |||
| 2e67b9ca6f | |||
| e24a7181f2 | |||
| e7eecc05cd | |||
| 1d33c8827c | |||
| 26afc0979c | |||
| fb9bece01c | |||
| c751364974 | |||
| 3ec9cc33c0 | |||
| 465f4bff60 | |||
| 6fb7131ee9 | |||
| fa5095261a | |||
| 3c8aa03fd9 |
@@ -43,6 +43,6 @@ github:
|
||||
|
||||
notifications:
|
||||
commits: commits@answer.apache.org
|
||||
issues: commits@answer.apache.org
|
||||
pullrequests: commits@answer.apache.org
|
||||
discussions: commits@answer.apache.org
|
||||
issues: issues@answer.apache.org
|
||||
pullrequests: issues@answer.apache.org
|
||||
discussions: issues@answer.apache.org
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# Installation
|
||||
INSTALL_PORT=80
|
||||
AUTO_INSTALL=false
|
||||
|
||||
# Database
|
||||
DB_TYPE=
|
||||
DB_USERNAME=
|
||||
DB_PASSWORD=
|
||||
DB_HOST=
|
||||
DB_NAME=
|
||||
DB_FILE=
|
||||
|
||||
# Site
|
||||
LANGUAGE=en-US
|
||||
SITE_NAME=Apache Answer
|
||||
SITE_URL=
|
||||
CONTACT_EMAIL=
|
||||
|
||||
# Admin
|
||||
ADMIN_NAME=
|
||||
ADMIN_PASSWORD=
|
||||
ADMIN_EMAIL=
|
||||
|
||||
# Content
|
||||
EXTERNAL_CONTENT_DISPLAY=ask_before_display
|
||||
|
||||
# Swagger
|
||||
SWAGGER_HOST=
|
||||
SWAGGER_ADDRESS_PORT=
|
||||
|
||||
# Server
|
||||
SITE_ADDR=0.0.0.0:3000
|
||||
|
||||
# Logging
|
||||
LOG_LEVEL=INFO
|
||||
LOG_PATH=
|
||||
@@ -3,6 +3,7 @@ name: Bug report
|
||||
about: Report an issue to help the project improve.
|
||||
title: ''
|
||||
labels: bug
|
||||
type: 'Bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
@@ -11,7 +12,7 @@ assignees: ''
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
### To Reproduce
|
||||
## To Reproduce
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
@@ -20,15 +21,15 @@ Steps to reproduce the behavior:
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
### Expected behavior
|
||||
## Expected behavior
|
||||
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
### Screenshots
|
||||
## Screenshots
|
||||
|
||||
If applicable, add screenshots or video to help explain your problem.
|
||||
|
||||
### Platform
|
||||
## Platform
|
||||
|
||||
- Device: [e.g. Desktop, Mobile]
|
||||
- OS: [e.g. macOS]
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Support
|
||||
url: https://answer.apache.org/community
|
||||
about: Contact us if you have any questions while using.
|
||||
- name: Questions & Discussions
|
||||
url: https://meta.answer.dev
|
||||
about: If you have any questions while using.
|
||||
@@ -3,6 +3,7 @@ name: Enhancement request
|
||||
about: Suggest an enhancement for this project. Improve an existing feature.
|
||||
title: ''
|
||||
labels: enhancement
|
||||
type: 'Feature'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
name: Feature request
|
||||
about: Suggest an idea or possible new feature for this project.
|
||||
title: ''
|
||||
labels: feature
|
||||
labels: new-feature
|
||||
type: 'Feature'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
@@ -34,26 +34,27 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
node-version: 20.18.1
|
||||
|
||||
- name: Node Build
|
||||
run: make install-ui-packages ui
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v3
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: 1.19
|
||||
go-version: 1.23
|
||||
|
||||
- name: Install GoReleaser
|
||||
run: go install github.com/goreleaser/goreleaser/v2@latest
|
||||
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v4
|
||||
with:
|
||||
distribution: goreleaser
|
||||
version: latest
|
||||
args: release --clean --skip=validate
|
||||
run: |
|
||||
"$(go env GOPATH)/bin/goreleaser" release --clean --skip=validate
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: answer
|
||||
path: ./dist/*
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
name: Build Latest Docker Image For Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v2.*
|
||||
- v1.*
|
||||
- v0.*
|
||||
- "!v*-RC*"
|
||||
# pull_request:
|
||||
# branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: ${{ github.repository_owner == 'apache' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y qemu-user-static
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
run: |
|
||||
docker buildx create --name answer-builder --driver docker-container --use
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
- name: Login to DockerHub
|
||||
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin
|
||||
|
||||
- name: Build and push
|
||||
run: |
|
||||
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
docker buildx build \
|
||||
--file ./Dockerfile \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--push \
|
||||
--tag apache/answer:latest \
|
||||
--label org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
|
||||
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
|
||||
--label org.opencontainers.image.version="${GITHUB_REF_NAME#v}" \
|
||||
.
|
||||
@@ -33,33 +33,29 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: apache/answer
|
||||
tags: |
|
||||
type=ref,enable=true,priority=600,prefix=,suffix=,event=branch
|
||||
type=semver,pattern={{version}}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y qemu-user-static
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
run: |
|
||||
docker buildx create --name answer-builder --driver docker-container --use
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USER }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
file: ./Dockerfile
|
||||
tags: apache/answer:${{ inputs.tag_name }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
run: |
|
||||
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
docker buildx build \
|
||||
--file ./Dockerfile \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--push \
|
||||
--tag "apache/answer:${{ inputs.tag_name }}" \
|
||||
--label org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
|
||||
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
|
||||
--label org.opencontainers.image.version="${{ inputs.tag_name }}" \
|
||||
.
|
||||
|
||||
@@ -19,7 +19,6 @@ name: Build Docker Image For Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main"]
|
||||
tags:
|
||||
- v2.*
|
||||
- v1.*
|
||||
@@ -35,36 +34,31 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: apache/answer
|
||||
tags: |
|
||||
type=raw,value=latest
|
||||
type=ref,enable=true,priority=600,prefix=,suffix=,event=branch
|
||||
type=semver,pattern={{version}}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y qemu-user-static
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
run: |
|
||||
docker buildx create --name answer-builder --driver docker-container --use
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USER }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
file: ./Dockerfile
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
|
||||
|
||||
env:
|
||||
IMAGE_TAG: ${{ github.ref_name }}
|
||||
run: |
|
||||
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
docker buildx build \
|
||||
--file ./Dockerfile \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--push \
|
||||
--tag "apache/answer:${IMAGE_TAG#v}" \
|
||||
--label org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
|
||||
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
|
||||
--label org.opencontainers.image.version="${IMAGE_TAG#v}" \
|
||||
.
|
||||
|
||||
@@ -30,32 +30,23 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: apache/answer
|
||||
tags: |
|
||||
type=raw,value=test
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: Login to DockerHub
|
||||
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username "${{ secrets.DOCKERHUB_USER }}" --password-stdin
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USER }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
run: |
|
||||
docker buildx create --name answer-builder --driver docker-container --use
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
platforms: linux/amd64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
run: |
|
||||
BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
docker buildx build \
|
||||
--file ./Dockerfile \
|
||||
--platform linux/amd64 \
|
||||
--push \
|
||||
--tag apache/answer:test \
|
||||
--label org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
--label org.opencontainers.image.revision="${GITHUB_SHA}" \
|
||||
--label org.opencontainers.image.source="https://github.com/${GITHUB_REPOSITORY}" \
|
||||
.
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.number || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Lint (${{ matrix.os }})
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 15
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.23"
|
||||
cache: true
|
||||
|
||||
- name: Run go mod tidy
|
||||
run: go mod tidy
|
||||
|
||||
- name: Run golangci-lint
|
||||
run: make lint
|
||||
|
||||
- name: Check for uncommitted changes
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
echo "::error::Uncommitted changes detected"
|
||||
git status
|
||||
git diff
|
||||
exit 1
|
||||
fi
|
||||
+7
-1
@@ -28,5 +28,11 @@ vendor/
|
||||
/answer-data/
|
||||
/answer
|
||||
/new_answer
|
||||
|
||||
build/tools/
|
||||
dist/
|
||||
|
||||
# Lint setup generated file
|
||||
.husky/
|
||||
|
||||
# Environment variables
|
||||
.env
|
||||
@@ -0,0 +1,49 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
version: "2"
|
||||
linters:
|
||||
exclusions:
|
||||
paths:
|
||||
- answer-data
|
||||
- ui
|
||||
- i18n
|
||||
enable:
|
||||
- asasalint # checks for pass []any as any in variadic func(...any)
|
||||
- asciicheck # checks that your code does not contain non-ASCII identifiers
|
||||
- bidichk # checks for dangerous unicode character sequences
|
||||
- bodyclose # checks whether HTTP response body is closed successfully
|
||||
- canonicalheader # checks whether net/http.Header uses canonical header
|
||||
- copyloopvar # detects places where loop variables are copied (Go 1.22+)
|
||||
- gocritic # provides diagnostics that check for bugs, performance and style issues
|
||||
- misspell # finds commonly misspelled English words in comments and strings
|
||||
- modernize # detects code that can be modernized to use newer Go features
|
||||
- testifylint # checks usage of github.com/stretchr/testify
|
||||
- unconvert # removes unnecessary type conversions
|
||||
- unparam # reports unused function parameters
|
||||
- whitespace # detects leading and trailing whitespace
|
||||
|
||||
formatters:
|
||||
enable:
|
||||
- gofmt
|
||||
- goimports
|
||||
settings:
|
||||
gofmt:
|
||||
simplify: true
|
||||
rewrite-rules:
|
||||
- pattern: 'interface{}'
|
||||
replacement: 'any'
|
||||
+8
-8
@@ -15,6 +15,8 @@
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
version: 2
|
||||
|
||||
env:
|
||||
- GO11MODULE=on
|
||||
- GO111MODULE=on
|
||||
@@ -32,7 +34,7 @@ builds:
|
||||
- id: build
|
||||
main: ./cmd/answer/.
|
||||
binary: answer
|
||||
ldflags: -s -w -X github.com/apache/incubator-answer/cmd.Version={{.RawVersion}} -X github.com/apache/incubator-answer/cmd.Revision={{.ShortCommit}} -X github.com/apache/incubator-answer/cmd.Time={{.Date}} -X github.com/apache/incubator-answer/cmd.BuildUser=goreleaser
|
||||
ldflags: -s -w -X github.com/apache/answer/cmd.Version={{.RawVersion}} -X github.com/apache/answer/cmd.Revision={{.ShortCommit}} -X github.com/apache/answer/cmd.Time={{.Date}} -X github.com/apache/answer/cmd.BuildUser=goreleaser
|
||||
flags: -v
|
||||
goos:
|
||||
- linux
|
||||
@@ -43,7 +45,7 @@ builds:
|
||||
- id: build-windows
|
||||
main: ./cmd/answer/.
|
||||
binary: answer
|
||||
ldflags: -s -w -X github.com/apache/incubator-answer/cmd.Version={{.RawVersion}} -X github.com/apache/incubator-answer/cmd.Revision={{.ShortCommit}} -X github.com/apache/incubator-answer/cmd.Time={{.Date}} -X github.com/apache/incubator-answer/cmd.BuildUser=goreleaser
|
||||
ldflags: -s -w -X github.com/apache/answer/cmd.Version={{.RawVersion}} -X github.com/apache/answer/cmd.Revision={{.ShortCommit}} -X github.com/apache/answer/cmd.Time={{.Date}} -X github.com/apache/answer/cmd.BuildUser=goreleaser
|
||||
flags: -v
|
||||
goos:
|
||||
- windows
|
||||
@@ -55,7 +57,7 @@ builds:
|
||||
|
||||
archives:
|
||||
- name_template: >-
|
||||
apache-answer-{{ .RawVersion }}-incubating-bin-{{ .Os }}-{{ .Arch }}
|
||||
apache-answer-{{ .RawVersion }}-bin-{{ .Os }}-{{ .Arch }}
|
||||
files:
|
||||
- src: "docs/release/LICENSE"
|
||||
dst: LICENSE
|
||||
@@ -63,13 +65,11 @@ archives:
|
||||
dst: NOTICE
|
||||
- src: "docs/release/licenses/*"
|
||||
dst: licenses/
|
||||
- src: "DISCLAIMER"
|
||||
dst: DISCLAIMER
|
||||
wrap_in_directory: true
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
snapshot:
|
||||
name_template: "{{ incpatch .Version }}"
|
||||
version_template: "{{ incpatch .Version }}"
|
||||
changelog:
|
||||
sort: asc
|
||||
filters:
|
||||
@@ -79,8 +79,8 @@ changelog:
|
||||
|
||||
source:
|
||||
enabled: true
|
||||
name_template: apache-answer-{{ .RawVersion }}-incubating-src
|
||||
prefix_template: "apache-answer-{{ .RawVersion }}-incubating-src/"
|
||||
name_template: apache-answer-{{ .RawVersion }}-src
|
||||
prefix_template: "apache-answer-{{ .RawVersion }}-src/"
|
||||
|
||||
# goreleaser release --skip-validate --skip-publish --clean
|
||||
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ version: 0.0.1
|
||||
achievements:
|
||||
- achievement:
|
||||
name: Visionary Architect
|
||||
icon: https://raw.githubusercontent.com/apache/incubator-answer/main/.vaunt/enhancement.png
|
||||
icon: https://raw.githubusercontent.com/apache/answer/main/.vaunt/enhancement.png
|
||||
description: Awarded for bringing up enhancement, dream big!
|
||||
triggers:
|
||||
- trigger:
|
||||
@@ -28,7 +28,7 @@ achievements:
|
||||
condition: labels in ['enhancement'] & labels in ['LGTM']
|
||||
- achievement:
|
||||
name: Bug Hunter
|
||||
icon: https://raw.githubusercontent.com/apache/incubator-answer/main/.vaunt/bug.png
|
||||
icon: https://raw.githubusercontent.com/apache/answer/main/.vaunt/bug.png
|
||||
description: Awarded for identifying real bugs, well spotted!
|
||||
triggers:
|
||||
- trigger:
|
||||
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
Apache Answer (incubating) is an effort undergoing incubation at the Apache
|
||||
Software Foundation (ASF), sponsored by the Apache Incubator PMC.
|
||||
|
||||
Incubation is required of all newly accepted projects until a further review
|
||||
indicates that the infrastructure, communications, and decision making process
|
||||
have stabilized in a manner consistent with other successful ASF projects.
|
||||
|
||||
While incubation status is not necessarily a reflection of the completeness
|
||||
or stability of the code, it does indicate that the project has yet to be
|
||||
fully endorsed by the ASF.
|
||||
+4
-4
@@ -15,8 +15,8 @@
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
FROM golang:1.19-alpine AS golang-builder
|
||||
LABEL maintainer="aichy@sf.com"
|
||||
FROM golang:1.25-alpine AS golang-builder
|
||||
LABEL maintainer="linkinstar@apache.org"
|
||||
|
||||
ARG GOPROXY
|
||||
# ENV GOPROXY ${GOPROXY:-direct}
|
||||
@@ -24,7 +24,7 @@ ARG GOPROXY
|
||||
|
||||
ENV GOPATH /go
|
||||
ENV GOROOT /usr/local/go
|
||||
ENV PACKAGE github.com/apache/incubator-answer
|
||||
ENV PACKAGE github.com/apache/answer
|
||||
ENV BUILD_DIR ${GOPATH}/src/${PACKAGE}
|
||||
ENV ANSWER_MODULE ${BUILD_DIR}
|
||||
|
||||
@@ -34,7 +34,7 @@ ARG CGO_EXTRA_CFLAGS
|
||||
|
||||
COPY . ${BUILD_DIR}
|
||||
WORKDIR ${BUILD_DIR}
|
||||
RUN apk --no-cache add build-base git bash nodejs npm && npm install -g pnpm@8.9.2 \
|
||||
RUN apk --no-cache add build-base git bash nodejs npm && npm install -g pnpm@9.7.0 \
|
||||
&& make clean build
|
||||
|
||||
RUN chmod 755 answer
|
||||
|
||||
@@ -1,15 +1,24 @@
|
||||
.PHONY: build clean ui
|
||||
|
||||
VERSION=1.4.0
|
||||
VERSION=2.0.2
|
||||
BIN=answer
|
||||
DIR_SRC=./cmd/answer
|
||||
DOCKER_CMD=docker
|
||||
|
||||
GO_ENV=CGO_ENABLED=0 GO111MODULE=on
|
||||
Revision=$(shell git rev-parse --short HEAD 2>/dev/null || echo "")
|
||||
GO_FLAGS=-ldflags="-X github.com/apache/incubator-answer/cmd.Version=$(VERSION) -X 'github.com/apache/incubator-answer/cmd.Revision=$(Revision)' -X 'github.com/apache/incubator-answer/cmd.Time=`date +%s`' -extldflags -static"
|
||||
GO_FLAGS=-ldflags="-X github.com/apache/answer/cmd.Version=$(VERSION) -X 'github.com/apache/answer/cmd.Revision=$(Revision)' -X 'github.com/apache/answer/cmd.Time=`date +%s`' -extldflags -static"
|
||||
GO=$(GO_ENV) "$(shell which go)"
|
||||
|
||||
GOLANGCI_VERSION ?= v2.6.2
|
||||
TOOLS_BIN := $(shell mkdir -p build/tools && realpath build/tools)
|
||||
|
||||
GOLANGCI = $(TOOLS_BIN)/golangci-lint-$(GOLANGCI_VERSION)
|
||||
$(GOLANGCI):
|
||||
rm -f $(TOOLS_BIN)/golangci-lint*
|
||||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/$(GOLANGCI_VERSION)/install.sh | sh -s -- -b $(TOOLS_BIN) $(GOLANGCI_VERSION)
|
||||
mv $(TOOLS_BIN)/golangci-lint $(TOOLS_BIN)/golangci-lint-$(GOLANGCI_VERSION)
|
||||
|
||||
build: generate
|
||||
@$(GO) build $(GO_FLAGS) -o $(BIN) $(DIR_SRC)
|
||||
|
||||
@@ -21,15 +30,20 @@ universal: generate
|
||||
@rm -f ${BIN}_amd64 ${BIN}_arm64
|
||||
|
||||
generate:
|
||||
@$(GO) get github.com/google/wire/cmd/wire@v0.5.0
|
||||
@$(GO) get github.com/golang/mock/mockgen@v1.6.0
|
||||
@$(GO) get github.com/swaggo/swag/cmd/swag@v1.16.3
|
||||
@$(GO) get github.com/google/wire/cmd/wire@v0.5.0
|
||||
@$(GO) get go.uber.org/mock/mockgen@v0.6.0
|
||||
@$(GO) install github.com/swaggo/swag/cmd/swag@v1.16.3
|
||||
@$(GO) install github.com/google/wire/cmd/wire@v0.5.0
|
||||
@$(GO) install github.com/golang/mock/mockgen@v1.6.0
|
||||
@$(GO) install go.uber.org/mock/mockgen@v0.6.0
|
||||
@$(GO) generate ./...
|
||||
@$(GO) mod tidy
|
||||
|
||||
check:
|
||||
@mockgen -version
|
||||
@swag -v
|
||||
@wire flags
|
||||
|
||||
test:
|
||||
@$(GO) test ./internal/repo/repo_test
|
||||
|
||||
@@ -40,13 +54,17 @@ clean:
|
||||
|
||||
install-ui-packages:
|
||||
@corepack enable
|
||||
@corepack prepare pnpm@8.9.2 --activate
|
||||
@corepack prepare pnpm@9.7.0 --activate
|
||||
|
||||
ui:
|
||||
@cd ui && pnpm pre-install && pnpm build && cd -
|
||||
|
||||
lint: generate
|
||||
lint: generate $(GOLANGCI)
|
||||
@bash ./script/check-asf-header.sh
|
||||
@gofmt -w -l .
|
||||
$(GOLANGCI) run
|
||||
|
||||
lint-fix: generate $(GOLANGCI)
|
||||
@bash ./script/check-asf-header.sh
|
||||
$(GOLANGCI) run --fix
|
||||
|
||||
all: clean build
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Apache Answer (incubating)
|
||||
Copyright 2023-2024 The Apache Software Foundation
|
||||
Apache Answer
|
||||
Copyright 2023-2026 The Apache Software Foundation
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (https://www.apache.org/).
|
||||
|
||||
@@ -8,10 +8,10 @@ A Q&A platform software for teams at any scales. Whether it’s a community foru
|
||||
|
||||
To learn more about the project, visit [answer.apache.org](https://answer.apache.org).
|
||||
|
||||
[](https://github.com/apache/incubator-answer/blob/main/LICENSE)
|
||||
[](https://github.com/apache/answer/blob/main/LICENSE)
|
||||
[](https://golang.org/)
|
||||
[](https://reactjs.org/)
|
||||
[](https://goreportcard.com/report/github.com/apache/incubator-answer)
|
||||
[](https://goreportcard.com/report/github.com/apache/answer)
|
||||
[](https://discord.gg/Jm7Y4cbUej)
|
||||
|
||||
## Screenshots
|
||||
@@ -23,7 +23,7 @@ To learn more about the project, visit [answer.apache.org](https://answer.apache
|
||||
### Running with docker
|
||||
|
||||
```bash
|
||||
docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:1.4.0
|
||||
docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:2.0.2
|
||||
```
|
||||
|
||||
For more information, see [Installation](https://answer.apache.org/docs/installation).
|
||||
@@ -40,20 +40,20 @@ You can also check out the [plugins here](https://answer.apache.org/plugins).
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Golang >= 1.18
|
||||
- Node.js >= 16.17
|
||||
- pnpm >= 8
|
||||
- mockgen >= 1.6.0
|
||||
- wire >= 0.5.0
|
||||
- Golang >= 1.23
|
||||
- Node.js >= 20
|
||||
- pnpm >= 9
|
||||
- [mockgen](https://github.com/uber-go/mock?tab=readme-ov-file#installation) >= 0.6.0
|
||||
- [wire](https://github.com/google/wire/) >= 0.5.0
|
||||
|
||||
### Build
|
||||
|
||||
```bash
|
||||
# install wire and mockgen for building
|
||||
# Install wire and mockgen for building. You can run `make check` to check if they are installed.
|
||||
$ make generate
|
||||
# install frontend dependencies and build
|
||||
# Install frontend dependencies and build
|
||||
$ make ui
|
||||
# install backend dependencies and build
|
||||
# Install backend dependencies and build
|
||||
$ make build
|
||||
```
|
||||
|
||||
@@ -65,4 +65,4 @@ See [CONTRIBUTING](https://answer.apache.org/community/contributing) for ways to
|
||||
|
||||
## License
|
||||
|
||||
[Apache License 2.0](https://github.com/apache/incubator-answer/blob/main/LICENSE)
|
||||
[Apache License 2.0](https://github.com/apache/answer/blob/main/LICENSE)
|
||||
|
||||
@@ -64,8 +64,23 @@ spec:
|
||||
port: http
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
{{- if .Values.env }}
|
||||
{{- $envNames := list }}
|
||||
{{- range .Values.env }}
|
||||
{{- $envNames = append $envNames .name }}
|
||||
{{- end }}
|
||||
env:
|
||||
{{- if not (has "INSTALL_PORT" $envNames) }}
|
||||
- name: INSTALL_PORT
|
||||
value: {{ .Values.service.port | quote }}
|
||||
{{- end }}
|
||||
{{- if not (has "SITE_ADDR" $envNames) }}
|
||||
- name: SITE_ADDR
|
||||
value: {{ printf "0.0.0.0:%v" .Values.service.port | quote }}
|
||||
{{- end }}
|
||||
{{- if not (has "SWAGGER_ADDRESS_PORT" $envNames) }}
|
||||
- name: SWAGGER_ADDRESS_PORT
|
||||
value: {{ printf ":%v" .Values.service.port | quote }}
|
||||
{{- end }}
|
||||
{{- range .Values.env }}
|
||||
- name: {{ .name }}
|
||||
{{- if .value | quote }}
|
||||
@@ -76,7 +91,6 @@ spec:
|
||||
{{- toYaml .valueFrom | nindent 16 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: "/data"
|
||||
@@ -102,4 +116,4 @@ spec:
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
+4
-5
@@ -22,14 +22,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
answercmd "github.com/apache/incubator-answer/cmd"
|
||||
answercmd "github.com/apache/answer/cmd"
|
||||
)
|
||||
|
||||
// main godoc
|
||||
// @title "apache answer"
|
||||
// @description = "apache answer api"
|
||||
// @version = "v0.0.1"
|
||||
// @BasePath = "/"
|
||||
// @title Apache Answer
|
||||
// @description Apache Answer API
|
||||
// @BasePath /
|
||||
// @securityDefinitions.apikey ApiKeyAuth
|
||||
// @in header
|
||||
// @name Authorization
|
||||
|
||||
+77
-51
@@ -20,15 +20,17 @@
|
||||
package answercmd
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/apache/incubator-answer/internal/base/conf"
|
||||
"github.com/apache/incubator-answer/internal/cli"
|
||||
"github.com/apache/incubator-answer/internal/install"
|
||||
"github.com/apache/incubator-answer/internal/migrations"
|
||||
"github.com/apache/incubator-answer/plugin"
|
||||
"github.com/apache/answer/internal/base/conf"
|
||||
"github.com/apache/answer/internal/base/path"
|
||||
"github.com/apache/answer/internal/cli"
|
||||
"github.com/apache/answer/internal/install"
|
||||
"github.com/apache/answer/internal/migrations"
|
||||
"github.com/apache/answer/plugin"
|
||||
"github.com/segmentfault/pacman/log"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@@ -53,6 +55,10 @@ var (
|
||||
i18nSourcePath string
|
||||
// i18nTargetPath i18n to path
|
||||
i18nTargetPath string
|
||||
// resetPasswordEmail user email for password reset
|
||||
resetPasswordEmail string
|
||||
// resetPasswordPassword new password for password reset
|
||||
resetPasswordPassword string
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -72,17 +78,19 @@ func init() {
|
||||
|
||||
configCmd.Flags().StringSliceVarP(&configFields, "with", "w", []string{}, "the fields that need to be set to the default value, eg: -w allow_password_login")
|
||||
|
||||
i18nCmd.Flags().StringVarP(&i18nSourcePath, "source", "s", "", "i18n source path, eg: -f ./i18n/source")
|
||||
i18nCmd.Flags().StringVarP(&i18nSourcePath, "source", "s", "", "i18n source path, eg: -s ./i18n/source")
|
||||
|
||||
i18nCmd.Flags().StringVarP(&i18nTargetPath, "target", "t", "", "i18n target path, eg: -t ./i18n/target")
|
||||
|
||||
for _, cmd := range []*cobra.Command{initCmd, checkCmd, runCmd, dumpCmd, upgradeCmd, buildCmd, pluginCmd, configCmd, i18nCmd} {
|
||||
resetPasswordCmd.Flags().StringVarP(&resetPasswordEmail, "email", "e", "", "user email address")
|
||||
resetPasswordCmd.Flags().StringVarP(&resetPasswordPassword, "password", "p", "", "new password (not recommended, will be recorded in shell history)")
|
||||
|
||||
for _, cmd := range []*cobra.Command{initCmd, checkCmd, runCmd, dumpCmd, upgradeCmd, buildCmd, pluginCmd, configCmd, i18nCmd, resetPasswordCmd} {
|
||||
rootCmd.AddCommand(cmd)
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
// rootCmd represents the base command when called without any subcommands
|
||||
rootCmd = &cobra.Command{
|
||||
Use: "answer",
|
||||
Short: "Answer is a minimalist open source Q&A community.",
|
||||
@@ -92,32 +100,30 @@ To run answer, use:
|
||||
- 'answer run' to launch application.`,
|
||||
}
|
||||
|
||||
// runCmd represents the run command
|
||||
runCmd = &cobra.Command{
|
||||
Use: "run",
|
||||
Short: "Run the application",
|
||||
Long: `Run the application`,
|
||||
Short: "Run Answer",
|
||||
Long: `Start running Answer`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
cli.FormatAllPath(dataDirPath)
|
||||
fmt.Println("config file path: ", cli.GetConfigFilePath())
|
||||
path.FormatAllPath(dataDirPath)
|
||||
fmt.Println("config file path: ", path.GetConfigFilePath())
|
||||
fmt.Println("Answer is starting..........................")
|
||||
runApp()
|
||||
},
|
||||
}
|
||||
|
||||
// initCmd represents the init command
|
||||
initCmd = &cobra.Command{
|
||||
Use: "init",
|
||||
Short: "init answer application",
|
||||
Long: `init answer application`,
|
||||
Short: "Initialize Answer",
|
||||
Long: `Initialize Answer with specified configuration`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
// check config file and database. if config file exists and database is already created, init done
|
||||
cli.InstallAllInitialEnvironment(dataDirPath)
|
||||
|
||||
configFileExist := cli.CheckConfigFile(cli.GetConfigFilePath())
|
||||
configFileExist := cli.CheckConfigFile(path.GetConfigFilePath())
|
||||
if configFileExist {
|
||||
fmt.Println("config file exists, try to read the config...")
|
||||
c, err := conf.ReadConfig(cli.GetConfigFilePath())
|
||||
c, err := conf.ReadConfig(path.GetConfigFilePath())
|
||||
if err != nil {
|
||||
fmt.Println("read config failed: ", err.Error())
|
||||
return
|
||||
@@ -131,20 +137,19 @@ To run answer, use:
|
||||
}
|
||||
|
||||
// start installation server to install
|
||||
install.Run(cli.GetConfigFilePath())
|
||||
install.Run(path.GetConfigFilePath())
|
||||
},
|
||||
}
|
||||
|
||||
// upgradeCmd represents the upgrade command
|
||||
upgradeCmd = &cobra.Command{
|
||||
Use: "upgrade",
|
||||
Short: "upgrade Answer version",
|
||||
Long: `upgrade Answer version`,
|
||||
Short: "Upgrade Answer",
|
||||
Long: `Upgrade Answer to the latest version`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
log.SetLogger(log.NewStdLogger(os.Stdout))
|
||||
cli.FormatAllPath(dataDirPath)
|
||||
path.FormatAllPath(dataDirPath)
|
||||
cli.InstallI18nBundle(true)
|
||||
c, err := conf.ReadConfig(cli.GetConfigFilePath())
|
||||
c, err := conf.ReadConfig(path.GetConfigFilePath())
|
||||
if err != nil {
|
||||
fmt.Println("read config failed: ", err.Error())
|
||||
return
|
||||
@@ -157,15 +162,14 @@ To run answer, use:
|
||||
},
|
||||
}
|
||||
|
||||
// dumpCmd represents the dump command
|
||||
dumpCmd = &cobra.Command{
|
||||
Use: "dump",
|
||||
Short: "back up data",
|
||||
Long: `back up data`,
|
||||
Short: "Back up data",
|
||||
Long: `Back up database into an SQL file`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
fmt.Println("Answer is backing up data")
|
||||
cli.FormatAllPath(dataDirPath)
|
||||
c, err := conf.ReadConfig(cli.GetConfigFilePath())
|
||||
path.FormatAllPath(dataDirPath)
|
||||
c, err := conf.ReadConfig(path.GetConfigFilePath())
|
||||
if err != nil {
|
||||
fmt.Println("read config failed: ", err.Error())
|
||||
return
|
||||
@@ -179,15 +183,14 @@ To run answer, use:
|
||||
},
|
||||
}
|
||||
|
||||
// checkCmd represents the check command
|
||||
checkCmd = &cobra.Command{
|
||||
Use: "check",
|
||||
Short: "checking the required environment",
|
||||
Short: "Check the required environment",
|
||||
Long: `Check if the current environment meets the startup requirements`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
cli.FormatAllPath(dataDirPath)
|
||||
path.FormatAllPath(dataDirPath)
|
||||
fmt.Println("Start checking the required environment...")
|
||||
if cli.CheckConfigFile(cli.GetConfigFilePath()) {
|
||||
if cli.CheckConfigFile(path.GetConfigFilePath()) {
|
||||
fmt.Println("config file exists [✔]")
|
||||
} else {
|
||||
fmt.Println("config file not exists [x]")
|
||||
@@ -199,7 +202,7 @@ To run answer, use:
|
||||
fmt.Println("upload directory not exists [x]")
|
||||
}
|
||||
|
||||
c, err := conf.ReadConfig(cli.GetConfigFilePath())
|
||||
c, err := conf.ReadConfig(path.GetConfigFilePath())
|
||||
if err != nil {
|
||||
fmt.Println("read config failed: ", err.Error())
|
||||
return
|
||||
@@ -214,10 +217,9 @@ To run answer, use:
|
||||
},
|
||||
}
|
||||
|
||||
// buildCmd used to build another answer with plugins
|
||||
buildCmd = &cobra.Command{
|
||||
Use: "build",
|
||||
Short: "used to build answer with plugins",
|
||||
Short: "Build Answer with plugins",
|
||||
Long: `Build a new Answer with plugins that you need`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
fmt.Printf("try to build a new answer with plugins:\n%s\n", strings.Join(buildWithPlugins, "\n"))
|
||||
@@ -227,18 +229,18 @@ To run answer, use:
|
||||
Time: Time,
|
||||
})
|
||||
if err != nil {
|
||||
fmt.Printf("build failed %v", err)
|
||||
} else {
|
||||
fmt.Printf("build new answer successfully %s\n", buildOutput)
|
||||
fmt.Printf("build failed %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Printf("build new answer successfully %s\n", buildOutput)
|
||||
},
|
||||
}
|
||||
|
||||
// pluginCmd prints all plugins packed in the binary
|
||||
pluginCmd = &cobra.Command{
|
||||
Use: "plugin",
|
||||
Short: "prints all plugins packed in the binary",
|
||||
Long: `prints all plugins packed in the binary`,
|
||||
Short: "Print all plugins packed in the binary",
|
||||
Long: `Print all plugins packed in the binary`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
_ = plugin.CallBase(func(base plugin.Base) error {
|
||||
info := base.Info()
|
||||
@@ -248,15 +250,14 @@ To run answer, use:
|
||||
},
|
||||
}
|
||||
|
||||
// configCmd set some config to default value
|
||||
configCmd = &cobra.Command{
|
||||
Use: "config",
|
||||
Short: "set some config to default value",
|
||||
Long: `set some config to default value`,
|
||||
Short: "Set some config to default value",
|
||||
Long: `Set some config to default value`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
cli.FormatAllPath(dataDirPath)
|
||||
path.FormatAllPath(dataDirPath)
|
||||
|
||||
c, err := conf.ReadConfig(cli.GetConfigFilePath())
|
||||
c, err := conf.ReadConfig(path.GetConfigFilePath())
|
||||
if err != nil {
|
||||
fmt.Println("read config failed: ", err.Error())
|
||||
return
|
||||
@@ -285,14 +286,13 @@ To run answer, use:
|
||||
},
|
||||
}
|
||||
|
||||
// i18nCmd used to merge i18n files
|
||||
i18nCmd = &cobra.Command{
|
||||
Use: "i18n",
|
||||
Short: "overwrite i18n files",
|
||||
Short: "Overwrite i18n files",
|
||||
Long: `Merge i18n files from plugins to original i18n files. It will overwrite the original i18n files`,
|
||||
Run: func(_ *cobra.Command, _ []string) {
|
||||
if err := cli.ReplaceI18nFilesLocal(i18nTargetPath); err != nil {
|
||||
fmt.Printf("replace i18n files failed %v", err)
|
||||
fmt.Printf("replace i18n files failed %v\n", err)
|
||||
} else {
|
||||
fmt.Printf("replace i18n files successfully\n")
|
||||
}
|
||||
@@ -300,12 +300,38 @@ To run answer, use:
|
||||
fmt.Printf("try to merge i18n files from %q to %q\n", i18nSourcePath, i18nTargetPath)
|
||||
|
||||
if err := cli.MergeI18nFilesLocal(i18nTargetPath, i18nSourcePath); err != nil {
|
||||
fmt.Printf("merge i18n files failed %v", err)
|
||||
fmt.Printf("merge i18n files failed %v\n", err)
|
||||
} else {
|
||||
fmt.Printf("merge i18n files successfully\n")
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
resetPasswordCmd = &cobra.Command{
|
||||
Use: "passwd",
|
||||
Aliases: []string{"password", "reset-password"},
|
||||
Short: "Reset user password",
|
||||
Long: "Reset user password by email address.",
|
||||
Example: ` # Interactive mode (recommended, safest)
|
||||
answer passwd -C ./answer-data
|
||||
|
||||
# Specify email only (will prompt for password securely)
|
||||
answer passwd -C ./answer-data --email user@example.com
|
||||
answer passwd -C ./answer-data -e user@example.com
|
||||
|
||||
# Specify email and password (NOT recommended, will be recorded in shell history)
|
||||
answer passwd -C ./answer-data -e user@example.com -p newpassword123`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
opts := &cli.ResetPasswordOptions{
|
||||
Email: resetPasswordEmail,
|
||||
Password: resetPasswordPassword,
|
||||
}
|
||||
if err := cli.ResetPassword(context.Background(), dataDirPath, opts); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
// Execute adds all child commands to the root command and sets flags appropriately.
|
||||
|
||||
+14
-8
@@ -25,19 +25,25 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/apache/incubator-answer/internal/base/conf"
|
||||
"github.com/apache/incubator-answer/internal/base/constant"
|
||||
"github.com/apache/incubator-answer/internal/base/cron"
|
||||
"github.com/apache/incubator-answer/internal/cli"
|
||||
"github.com/apache/incubator-answer/internal/schema"
|
||||
"github.com/apache/answer/internal/base/conf"
|
||||
"github.com/apache/answer/internal/base/constant"
|
||||
"github.com/apache/answer/internal/base/cron"
|
||||
"github.com/apache/answer/internal/base/path"
|
||||
"github.com/apache/answer/internal/schema"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/joho/godotenv"
|
||||
"github.com/segmentfault/pacman"
|
||||
"github.com/segmentfault/pacman/contrib/log/zap"
|
||||
"github.com/segmentfault/pacman/contrib/server/http"
|
||||
"github.com/segmentfault/pacman/log"
|
||||
)
|
||||
|
||||
// go build -ldflags "-X github.com/apache/incubator-answer/cmd.Version=x.y.z"
|
||||
func init() {
|
||||
// Load .env if present, ignore error to keep backward compatibility
|
||||
_ = godotenv.Load()
|
||||
}
|
||||
|
||||
// go build -ldflags "-X github.com/apache/answer/cmd.Version=x.y.z"
|
||||
var (
|
||||
// Name is the name of the project
|
||||
Name = "answer"
|
||||
@@ -49,7 +55,7 @@ var (
|
||||
// Time is the build time of the project
|
||||
Time = ""
|
||||
// GoVersion is the go version of the project
|
||||
GoVersion = "1.19"
|
||||
GoVersion = "1.23"
|
||||
// log level
|
||||
logLevel = os.Getenv("LOG_LEVEL")
|
||||
// log path
|
||||
@@ -67,7 +73,7 @@ func Main() {
|
||||
}
|
||||
|
||||
func runApp() {
|
||||
c, err := conf.ReadConfig(cli.GetConfigFilePath())
|
||||
c, err := conf.ReadConfig(path.GetConfigFilePath())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
+13
-14
@@ -1,5 +1,4 @@
|
||||
//go:build wireinject
|
||||
// +build wireinject
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
@@ -25,19 +24,19 @@
|
||||
package answercmd
|
||||
|
||||
import (
|
||||
"github.com/apache/incubator-answer/internal/base/conf"
|
||||
"github.com/apache/incubator-answer/internal/base/cron"
|
||||
"github.com/apache/incubator-answer/internal/base/data"
|
||||
"github.com/apache/incubator-answer/internal/base/middleware"
|
||||
"github.com/apache/incubator-answer/internal/base/server"
|
||||
"github.com/apache/incubator-answer/internal/base/translator"
|
||||
"github.com/apache/incubator-answer/internal/controller"
|
||||
"github.com/apache/incubator-answer/internal/controller/template_render"
|
||||
"github.com/apache/incubator-answer/internal/controller_admin"
|
||||
"github.com/apache/incubator-answer/internal/repo"
|
||||
"github.com/apache/incubator-answer/internal/router"
|
||||
"github.com/apache/incubator-answer/internal/service"
|
||||
"github.com/apache/incubator-answer/internal/service/service_config"
|
||||
"github.com/apache/answer/internal/base/conf"
|
||||
"github.com/apache/answer/internal/base/cron"
|
||||
"github.com/apache/answer/internal/base/data"
|
||||
"github.com/apache/answer/internal/base/middleware"
|
||||
"github.com/apache/answer/internal/base/server"
|
||||
"github.com/apache/answer/internal/base/translator"
|
||||
"github.com/apache/answer/internal/controller"
|
||||
templaterender "github.com/apache/answer/internal/controller/template_render"
|
||||
"github.com/apache/answer/internal/controller_admin"
|
||||
"github.com/apache/answer/internal/repo"
|
||||
"github.com/apache/answer/internal/router"
|
||||
"github.com/apache/answer/internal/service"
|
||||
"github.com/apache/answer/internal/service/service_config"
|
||||
"github.com/google/wire"
|
||||
"github.com/segmentfault/pacman"
|
||||
"github.com/segmentfault/pacman/log"
|
||||
|
||||
+146
-120
@@ -27,90 +27,100 @@
|
||||
package answercmd
|
||||
|
||||
import (
|
||||
"github.com/apache/incubator-answer/internal/base/conf"
|
||||
"github.com/apache/incubator-answer/internal/base/cron"
|
||||
"github.com/apache/incubator-answer/internal/base/data"
|
||||
"github.com/apache/incubator-answer/internal/base/middleware"
|
||||
"github.com/apache/incubator-answer/internal/base/server"
|
||||
"github.com/apache/incubator-answer/internal/base/translator"
|
||||
"github.com/apache/incubator-answer/internal/controller"
|
||||
"github.com/apache/incubator-answer/internal/controller/template_render"
|
||||
"github.com/apache/incubator-answer/internal/controller_admin"
|
||||
"github.com/apache/incubator-answer/internal/repo/activity"
|
||||
"github.com/apache/incubator-answer/internal/repo/activity_common"
|
||||
"github.com/apache/incubator-answer/internal/repo/answer"
|
||||
"github.com/apache/incubator-answer/internal/repo/auth"
|
||||
"github.com/apache/incubator-answer/internal/repo/badge"
|
||||
"github.com/apache/incubator-answer/internal/repo/badge_award"
|
||||
"github.com/apache/incubator-answer/internal/repo/badge_group"
|
||||
"github.com/apache/incubator-answer/internal/repo/captcha"
|
||||
"github.com/apache/incubator-answer/internal/repo/collection"
|
||||
"github.com/apache/incubator-answer/internal/repo/comment"
|
||||
"github.com/apache/incubator-answer/internal/repo/config"
|
||||
"github.com/apache/incubator-answer/internal/repo/export"
|
||||
"github.com/apache/incubator-answer/internal/repo/limit"
|
||||
"github.com/apache/incubator-answer/internal/repo/meta"
|
||||
notification2 "github.com/apache/incubator-answer/internal/repo/notification"
|
||||
"github.com/apache/incubator-answer/internal/repo/plugin_config"
|
||||
"github.com/apache/incubator-answer/internal/repo/question"
|
||||
"github.com/apache/incubator-answer/internal/repo/rank"
|
||||
"github.com/apache/incubator-answer/internal/repo/reason"
|
||||
"github.com/apache/incubator-answer/internal/repo/report"
|
||||
"github.com/apache/incubator-answer/internal/repo/review"
|
||||
"github.com/apache/incubator-answer/internal/repo/revision"
|
||||
"github.com/apache/incubator-answer/internal/repo/role"
|
||||
"github.com/apache/incubator-answer/internal/repo/search_common"
|
||||
"github.com/apache/incubator-answer/internal/repo/site_info"
|
||||
"github.com/apache/incubator-answer/internal/repo/tag"
|
||||
"github.com/apache/incubator-answer/internal/repo/tag_common"
|
||||
"github.com/apache/incubator-answer/internal/repo/unique"
|
||||
"github.com/apache/incubator-answer/internal/repo/user"
|
||||
"github.com/apache/incubator-answer/internal/repo/user_external_login"
|
||||
"github.com/apache/incubator-answer/internal/repo/user_notification_config"
|
||||
"github.com/apache/incubator-answer/internal/router"
|
||||
"github.com/apache/incubator-answer/internal/service/action"
|
||||
activity2 "github.com/apache/incubator-answer/internal/service/activity"
|
||||
activity_common2 "github.com/apache/incubator-answer/internal/service/activity_common"
|
||||
"github.com/apache/incubator-answer/internal/service/activity_queue"
|
||||
"github.com/apache/incubator-answer/internal/service/answer_common"
|
||||
auth2 "github.com/apache/incubator-answer/internal/service/auth"
|
||||
badge2 "github.com/apache/incubator-answer/internal/service/badge"
|
||||
collection2 "github.com/apache/incubator-answer/internal/service/collection"
|
||||
"github.com/apache/incubator-answer/internal/service/collection_common"
|
||||
comment2 "github.com/apache/incubator-answer/internal/service/comment"
|
||||
"github.com/apache/incubator-answer/internal/service/comment_common"
|
||||
config2 "github.com/apache/incubator-answer/internal/service/config"
|
||||
"github.com/apache/incubator-answer/internal/service/content"
|
||||
"github.com/apache/incubator-answer/internal/service/dashboard"
|
||||
"github.com/apache/incubator-answer/internal/service/event_queue"
|
||||
export2 "github.com/apache/incubator-answer/internal/service/export"
|
||||
"github.com/apache/incubator-answer/internal/service/follow"
|
||||
meta2 "github.com/apache/incubator-answer/internal/service/meta"
|
||||
"github.com/apache/incubator-answer/internal/service/meta_common"
|
||||
"github.com/apache/incubator-answer/internal/service/notice_queue"
|
||||
"github.com/apache/incubator-answer/internal/service/notification"
|
||||
"github.com/apache/incubator-answer/internal/service/notification_common"
|
||||
"github.com/apache/incubator-answer/internal/service/object_info"
|
||||
"github.com/apache/incubator-answer/internal/service/plugin_common"
|
||||
"github.com/apache/incubator-answer/internal/service/question_common"
|
||||
rank2 "github.com/apache/incubator-answer/internal/service/rank"
|
||||
reason2 "github.com/apache/incubator-answer/internal/service/reason"
|
||||
report2 "github.com/apache/incubator-answer/internal/service/report"
|
||||
"github.com/apache/incubator-answer/internal/service/report_handle"
|
||||
review2 "github.com/apache/incubator-answer/internal/service/review"
|
||||
"github.com/apache/incubator-answer/internal/service/revision_common"
|
||||
role2 "github.com/apache/incubator-answer/internal/service/role"
|
||||
"github.com/apache/incubator-answer/internal/service/search_parser"
|
||||
"github.com/apache/incubator-answer/internal/service/service_config"
|
||||
"github.com/apache/incubator-answer/internal/service/siteinfo"
|
||||
"github.com/apache/incubator-answer/internal/service/siteinfo_common"
|
||||
tag2 "github.com/apache/incubator-answer/internal/service/tag"
|
||||
tag_common2 "github.com/apache/incubator-answer/internal/service/tag_common"
|
||||
"github.com/apache/incubator-answer/internal/service/uploader"
|
||||
"github.com/apache/incubator-answer/internal/service/user_admin"
|
||||
"github.com/apache/incubator-answer/internal/service/user_common"
|
||||
user_external_login2 "github.com/apache/incubator-answer/internal/service/user_external_login"
|
||||
user_notification_config2 "github.com/apache/incubator-answer/internal/service/user_notification_config"
|
||||
"github.com/apache/answer/internal/base/conf"
|
||||
"github.com/apache/answer/internal/base/cron"
|
||||
"github.com/apache/answer/internal/base/data"
|
||||
"github.com/apache/answer/internal/base/middleware"
|
||||
"github.com/apache/answer/internal/base/server"
|
||||
"github.com/apache/answer/internal/base/translator"
|
||||
"github.com/apache/answer/internal/controller"
|
||||
"github.com/apache/answer/internal/controller/template_render"
|
||||
"github.com/apache/answer/internal/controller_admin"
|
||||
"github.com/apache/answer/internal/repo/activity"
|
||||
"github.com/apache/answer/internal/repo/activity_common"
|
||||
"github.com/apache/answer/internal/repo/ai_conversation"
|
||||
"github.com/apache/answer/internal/repo/answer"
|
||||
"github.com/apache/answer/internal/repo/api_key"
|
||||
"github.com/apache/answer/internal/repo/auth"
|
||||
"github.com/apache/answer/internal/repo/badge"
|
||||
"github.com/apache/answer/internal/repo/badge_award"
|
||||
"github.com/apache/answer/internal/repo/badge_group"
|
||||
"github.com/apache/answer/internal/repo/captcha"
|
||||
"github.com/apache/answer/internal/repo/collection"
|
||||
"github.com/apache/answer/internal/repo/comment"
|
||||
"github.com/apache/answer/internal/repo/config"
|
||||
"github.com/apache/answer/internal/repo/export"
|
||||
"github.com/apache/answer/internal/repo/file_record"
|
||||
"github.com/apache/answer/internal/repo/limit"
|
||||
"github.com/apache/answer/internal/repo/meta"
|
||||
notification2 "github.com/apache/answer/internal/repo/notification"
|
||||
"github.com/apache/answer/internal/repo/plugin_config"
|
||||
"github.com/apache/answer/internal/repo/question"
|
||||
"github.com/apache/answer/internal/repo/rank"
|
||||
"github.com/apache/answer/internal/repo/reason"
|
||||
"github.com/apache/answer/internal/repo/report"
|
||||
"github.com/apache/answer/internal/repo/review"
|
||||
"github.com/apache/answer/internal/repo/revision"
|
||||
"github.com/apache/answer/internal/repo/role"
|
||||
"github.com/apache/answer/internal/repo/search_common"
|
||||
"github.com/apache/answer/internal/repo/site_info"
|
||||
"github.com/apache/answer/internal/repo/tag"
|
||||
"github.com/apache/answer/internal/repo/tag_common"
|
||||
"github.com/apache/answer/internal/repo/unique"
|
||||
"github.com/apache/answer/internal/repo/user"
|
||||
"github.com/apache/answer/internal/repo/user_external_login"
|
||||
"github.com/apache/answer/internal/repo/user_notification_config"
|
||||
"github.com/apache/answer/internal/router"
|
||||
"github.com/apache/answer/internal/service/action"
|
||||
activity2 "github.com/apache/answer/internal/service/activity"
|
||||
activity_common2 "github.com/apache/answer/internal/service/activity_common"
|
||||
"github.com/apache/answer/internal/service/activityqueue"
|
||||
ai_conversation2 "github.com/apache/answer/internal/service/ai_conversation"
|
||||
"github.com/apache/answer/internal/service/answer_common"
|
||||
"github.com/apache/answer/internal/service/apikey"
|
||||
auth2 "github.com/apache/answer/internal/service/auth"
|
||||
badge2 "github.com/apache/answer/internal/service/badge"
|
||||
collection2 "github.com/apache/answer/internal/service/collection"
|
||||
"github.com/apache/answer/internal/service/collection_common"
|
||||
comment2 "github.com/apache/answer/internal/service/comment"
|
||||
"github.com/apache/answer/internal/service/comment_common"
|
||||
config2 "github.com/apache/answer/internal/service/config"
|
||||
"github.com/apache/answer/internal/service/content"
|
||||
"github.com/apache/answer/internal/service/dashboard"
|
||||
"github.com/apache/answer/internal/service/embedding"
|
||||
"github.com/apache/answer/internal/service/eventqueue"
|
||||
export2 "github.com/apache/answer/internal/service/export"
|
||||
"github.com/apache/answer/internal/service/feature_toggle"
|
||||
file_record2 "github.com/apache/answer/internal/service/file_record"
|
||||
"github.com/apache/answer/internal/service/follow"
|
||||
"github.com/apache/answer/internal/service/importer"
|
||||
meta2 "github.com/apache/answer/internal/service/meta"
|
||||
"github.com/apache/answer/internal/service/meta_common"
|
||||
"github.com/apache/answer/internal/service/noticequeue"
|
||||
"github.com/apache/answer/internal/service/notification"
|
||||
"github.com/apache/answer/internal/service/notification_common"
|
||||
"github.com/apache/answer/internal/service/object_info"
|
||||
"github.com/apache/answer/internal/service/plugin_common"
|
||||
"github.com/apache/answer/internal/service/question_common"
|
||||
rank2 "github.com/apache/answer/internal/service/rank"
|
||||
reason2 "github.com/apache/answer/internal/service/reason"
|
||||
report2 "github.com/apache/answer/internal/service/report"
|
||||
"github.com/apache/answer/internal/service/report_handle"
|
||||
review2 "github.com/apache/answer/internal/service/review"
|
||||
"github.com/apache/answer/internal/service/revision_common"
|
||||
role2 "github.com/apache/answer/internal/service/role"
|
||||
"github.com/apache/answer/internal/service/search_parser"
|
||||
"github.com/apache/answer/internal/service/service_config"
|
||||
"github.com/apache/answer/internal/service/siteinfo"
|
||||
"github.com/apache/answer/internal/service/siteinfo_common"
|
||||
tag2 "github.com/apache/answer/internal/service/tag"
|
||||
tag_common2 "github.com/apache/answer/internal/service/tag_common"
|
||||
"github.com/apache/answer/internal/service/uploader"
|
||||
"github.com/apache/answer/internal/service/user_admin"
|
||||
"github.com/apache/answer/internal/service/user_common"
|
||||
user_external_login2 "github.com/apache/answer/internal/service/user_external_login"
|
||||
user_notification_config2 "github.com/apache/answer/internal/service/user_notification_config"
|
||||
"github.com/apache/answer/internal/service/vector_sync"
|
||||
"github.com/segmentfault/pacman"
|
||||
"github.com/segmentfault/pacman/log"
|
||||
)
|
||||
@@ -141,7 +151,8 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database,
|
||||
siteInfoCommonService := siteinfo_common.NewSiteInfoCommonService(siteInfoRepo)
|
||||
langController := controller.NewLangController(i18nTranslator, siteInfoCommonService)
|
||||
authRepo := auth.NewAuthRepo(dataData)
|
||||
authService := auth2.NewAuthService(authRepo)
|
||||
apiKeyRepo := api_key.NewAPIKeyRepo(dataData)
|
||||
authService := auth2.NewAuthService(authRepo, apiKeyRepo)
|
||||
userRepo := user.NewUserRepo(dataData)
|
||||
uniqueIDRepo := unique.NewUniqueIDRepo(dataData)
|
||||
configRepo := config.NewConfigRepo(dataData)
|
||||
@@ -169,25 +180,30 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database,
|
||||
tagRepo := tag.NewTagRepo(dataData, uniqueIDRepo)
|
||||
revisionRepo := revision.NewRevisionRepo(dataData, uniqueIDRepo)
|
||||
revisionService := revision_common.NewRevisionService(revisionRepo, userRepo)
|
||||
activityQueueService := activity_queue.NewActivityQueueService()
|
||||
tagCommonService := tag_common2.NewTagCommonService(tagCommonRepo, tagRelRepo, tagRepo, revisionService, siteInfoCommonService, activityQueueService)
|
||||
service := activityqueue.NewService()
|
||||
tagCommonService := tag_common2.NewTagCommonService(tagCommonRepo, tagRelRepo, tagRepo, revisionService, siteInfoCommonService, service)
|
||||
collectionRepo := collection.NewCollectionRepo(dataData, uniqueIDRepo)
|
||||
collectionCommon := collectioncommon.NewCollectionCommon(collectionRepo)
|
||||
answerCommon := answercommon.NewAnswerCommon(answerRepo)
|
||||
metaRepo := meta.NewMetaRepo(dataData)
|
||||
metaCommonService := metacommon.NewMetaCommonService(metaRepo)
|
||||
questionCommon := questioncommon.NewQuestionCommon(questionRepo, answerRepo, voteRepo, followRepo, tagCommonService, userCommon, collectionCommon, answerCommon, metaCommonService, configService, activityQueueService, revisionRepo, dataData)
|
||||
eventQueueService := event_queue.NewEventQueueService()
|
||||
userService := content.NewUserService(userRepo, userActiveActivityRepo, activityRepo, emailService, authService, siteInfoCommonService, userRoleRelService, userCommon, userExternalLoginService, userNotificationConfigRepo, userNotificationConfigService, questionCommon, eventQueueService)
|
||||
questionCommon := questioncommon.NewQuestionCommon(questionRepo, answerRepo, voteRepo, followRepo, tagCommonService, userCommon, collectionCommon, answerCommon, metaCommonService, configService, service, revisionRepo, siteInfoCommonService, dataData)
|
||||
eventqueueService := eventqueue.NewService()
|
||||
fileRecordRepo := file_record.NewFileRecordRepo(dataData)
|
||||
fileRecordService := file_record2.NewFileRecordService(fileRecordRepo, revisionRepo, serviceConf, siteInfoCommonService, userCommon)
|
||||
userService := content.NewUserService(userRepo, userActiveActivityRepo, activityRepo, emailService, authService, siteInfoCommonService, userRoleRelService, userCommon, userExternalLoginService, userNotificationConfigRepo, userNotificationConfigService, questionCommon, eventqueueService, fileRecordService)
|
||||
captchaRepo := captcha.NewCaptchaRepo(dataData)
|
||||
captchaService := action.NewCaptchaService(captchaRepo)
|
||||
userController := controller.NewUserController(authService, userService, captchaService, emailService, siteInfoCommonService, userNotificationConfigService)
|
||||
commentRepo := comment.NewCommentRepo(dataData, uniqueIDRepo)
|
||||
commentCommonRepo := comment.NewCommentCommonRepo(dataData, uniqueIDRepo)
|
||||
objService := object_info.NewObjService(answerRepo, questionRepo, commentCommonRepo, tagCommonRepo, tagCommonService)
|
||||
notificationQueueService := notice_queue.NewNotificationQueueService()
|
||||
externalNotificationQueueService := notice_queue.NewNewQuestionNotificationQueueService()
|
||||
commentService := comment2.NewCommentService(commentRepo, commentCommonRepo, userCommon, objService, voteRepo, emailService, userRepo, notificationQueueService, externalNotificationQueueService, activityQueueService, eventQueueService)
|
||||
noticequeueService := noticequeue.NewService()
|
||||
externalService := noticequeue.NewExternalService()
|
||||
reviewRepo := review.NewReviewRepo(dataData)
|
||||
vector_syncService := vector_sync.NewService(dataData)
|
||||
reviewService := review2.NewReviewService(reviewRepo, objService, userCommon, userRepo, questionRepo, answerRepo, userRoleRelService, externalService, tagCommonService, questionCommon, noticequeueService, siteInfoCommonService, commentCommonRepo, vector_syncService)
|
||||
commentService := comment2.NewCommentService(commentRepo, commentCommonRepo, userCommon, objService, voteRepo, emailService, userRepo, noticequeueService, externalService, service, eventqueueService, reviewService, vector_syncService)
|
||||
rolePowerRelRepo := role.NewRolePowerRelRepo(dataData)
|
||||
rolePowerRelService := role2.NewRolePowerRelService(rolePowerRelRepo, userRoleRelService)
|
||||
rankService := rank2.NewRankService(userCommon, userRankRepo, objService, userRoleRelService, rolePowerRelService, configService)
|
||||
@@ -195,19 +211,17 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database,
|
||||
rateLimitMiddleware := middleware.NewRateLimitMiddleware(limitRepo)
|
||||
commentController := controller.NewCommentController(commentService, rankService, captchaService, rateLimitMiddleware)
|
||||
reportRepo := report.NewReportRepo(dataData, uniqueIDRepo)
|
||||
tagService := tag2.NewTagService(tagRepo, tagCommonService, revisionService, followRepo, siteInfoCommonService, activityQueueService)
|
||||
answerActivityRepo := activity.NewAnswerActivityRepo(dataData, activityRepo, userRankRepo, notificationQueueService)
|
||||
tagService := tag2.NewTagService(tagRepo, tagCommonService, revisionService, followRepo, siteInfoCommonService, service)
|
||||
answerActivityRepo := activity.NewAnswerActivityRepo(dataData, activityRepo, userRankRepo, noticequeueService)
|
||||
answerActivityService := activity2.NewAnswerActivityService(answerActivityRepo, configService)
|
||||
externalNotificationService := notification.NewExternalNotificationService(dataData, userNotificationConfigRepo, followRepo, emailService, userRepo, externalNotificationQueueService, userExternalLoginRepo, siteInfoCommonService)
|
||||
reviewRepo := review.NewReviewRepo(dataData)
|
||||
reviewService := review2.NewReviewService(reviewRepo, objService, userCommon, userRepo, questionRepo, answerRepo, userRoleRelService, externalNotificationQueueService, tagCommonService, questionCommon, notificationQueueService, siteInfoCommonService)
|
||||
questionService := content.NewQuestionService(activityRepo, questionRepo, answerRepo, tagCommonService, tagService, questionCommon, userCommon, userRepo, userRoleRelService, revisionService, metaCommonService, collectionCommon, answerActivityService, emailService, notificationQueueService, externalNotificationQueueService, activityQueueService, siteInfoCommonService, externalNotificationService, reviewService, configService, eventQueueService)
|
||||
answerService := content.NewAnswerService(answerRepo, questionRepo, questionCommon, userCommon, collectionCommon, userRepo, revisionService, answerActivityService, answerCommon, voteRepo, emailService, userRoleRelService, notificationQueueService, externalNotificationQueueService, activityQueueService, reviewService, eventQueueService)
|
||||
externalNotificationService := notification.NewExternalNotificationService(dataData, userNotificationConfigRepo, followRepo, emailService, userRepo, externalService, userExternalLoginRepo, siteInfoCommonService)
|
||||
questionService := content.NewQuestionService(activityRepo, questionRepo, answerRepo, tagCommonService, tagService, questionCommon, userCommon, userRepo, userRoleRelService, revisionService, metaCommonService, collectionCommon, answerActivityService, emailService, noticequeueService, externalService, service, siteInfoCommonService, externalNotificationService, reviewService, configService, eventqueueService, reviewRepo, vector_syncService)
|
||||
answerService := content.NewAnswerService(answerRepo, questionRepo, questionCommon, userCommon, collectionCommon, userRepo, revisionService, answerActivityService, answerCommon, voteRepo, emailService, userRoleRelService, noticequeueService, externalService, service, reviewService, eventqueueService, vector_syncService)
|
||||
reportHandle := report_handle.NewReportHandle(questionService, answerService, commentService)
|
||||
reportService := report2.NewReportService(reportRepo, objService, userCommon, answerRepo, questionRepo, commentCommonRepo, reportHandle, configService, eventQueueService)
|
||||
reportService := report2.NewReportService(reportRepo, objService, userCommon, answerRepo, questionRepo, commentCommonRepo, reportHandle, configService, eventqueueService)
|
||||
reportController := controller.NewReportController(reportService, rankService, captchaService)
|
||||
contentVoteRepo := activity.NewVoteRepo(dataData, activityRepo, userRankRepo, notificationQueueService)
|
||||
voteService := content.NewVoteService(contentVoteRepo, configService, questionRepo, answerRepo, commentCommonRepo, objService, eventQueueService)
|
||||
contentVoteRepo := activity.NewVoteRepo(dataData, activityRepo, userRankRepo, noticequeueService)
|
||||
voteService := content.NewVoteService(contentVoteRepo, configService, questionRepo, answerRepo, commentCommonRepo, objService, eventqueueService)
|
||||
voteController := controller.NewVoteController(voteService, rankService, captchaService)
|
||||
tagController := controller.NewTagController(tagService, tagCommonService, rankService)
|
||||
followFollowRepo := activity.NewFollowRepo(dataData, uniqueIDRepo, activityRepo)
|
||||
@@ -223,59 +237,70 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database,
|
||||
searchService := content.NewSearchService(searchParser, searchRepo)
|
||||
searchController := controller.NewSearchController(searchService, captchaService)
|
||||
reviewActivityRepo := activity.NewReviewActivityRepo(dataData, activityRepo, userRankRepo, configService)
|
||||
contentRevisionService := content.NewRevisionService(revisionRepo, userCommon, questionCommon, answerService, objService, questionRepo, answerRepo, tagRepo, tagCommonService, notificationQueueService, activityQueueService, reportRepo, reviewService, reviewActivityRepo)
|
||||
contentRevisionService := content.NewRevisionService(revisionRepo, userCommon, questionCommon, answerService, objService, questionRepo, answerRepo, tagRepo, tagCommonService, noticequeueService, service, reportRepo, reviewService, reviewActivityRepo)
|
||||
revisionController := controller.NewRevisionController(contentRevisionService, rankService)
|
||||
rankController := controller.NewRankController(rankService)
|
||||
userAdminRepo := user.NewUserAdminRepo(dataData, authRepo)
|
||||
userAdminService := user_admin.NewUserAdminService(userAdminRepo, userRoleRelService, authService, userCommon, userActiveActivityRepo, siteInfoCommonService, emailService, questionRepo, answerRepo, commentCommonRepo)
|
||||
notificationRepo := notification2.NewNotificationRepo(dataData)
|
||||
pluginUserConfigRepo := plugin_config.NewPluginUserConfigRepo(dataData)
|
||||
badgeAwardRepo := badge_award.NewBadgeAwardRepo(dataData, uniqueIDRepo)
|
||||
userAdminService := user_admin.NewUserAdminService(userAdminRepo, userRoleRelService, authService, userCommon, userActiveActivityRepo, siteInfoCommonService, emailService, questionRepo, answerRepo, commentCommonRepo, userExternalLoginRepo, notificationRepo, pluginUserConfigRepo, badgeAwardRepo, apiKeyRepo)
|
||||
userAdminController := controller_admin.NewUserAdminController(userAdminService)
|
||||
reasonRepo := reason.NewReasonRepo(configService)
|
||||
reasonService := reason2.NewReasonService(reasonRepo)
|
||||
reasonController := controller.NewReasonController(reasonService)
|
||||
themeController := controller_admin.NewThemeController()
|
||||
siteInfoService := siteinfo.NewSiteInfoService(siteInfoRepo, siteInfoCommonService, emailService, tagCommonService, configService, questionCommon)
|
||||
siteInfoService := siteinfo.NewSiteInfoService(siteInfoRepo, siteInfoCommonService, emailService, tagCommonService, configService, questionCommon, fileRecordService)
|
||||
siteInfoController := controller_admin.NewSiteInfoController(siteInfoService)
|
||||
controllerSiteInfoController := controller.NewSiteInfoController(siteInfoCommonService)
|
||||
notificationRepo := notification2.NewNotificationRepo(dataData)
|
||||
notificationCommon := notificationcommon.NewNotificationCommon(dataData, notificationRepo, userCommon, activityRepo, followRepo, objService, notificationQueueService, userExternalLoginRepo, siteInfoCommonService)
|
||||
notificationCommon := notificationcommon.NewNotificationCommon(dataData, notificationRepo, userCommon, activityRepo, followRepo, objService, noticequeueService, userExternalLoginRepo, siteInfoCommonService)
|
||||
badgeRepo := badge.NewBadgeRepo(dataData, uniqueIDRepo)
|
||||
notificationService := notification.NewNotificationService(dataData, notificationRepo, notificationCommon, revisionService, userRepo, reportRepo, reviewService, badgeRepo)
|
||||
notificationController := controller.NewNotificationController(notificationService, rankService)
|
||||
dashboardService := dashboard.NewDashboardService(questionRepo, answerRepo, commentCommonRepo, voteRepo, userRepo, reportRepo, configService, siteInfoCommonService, serviceConf, reviewService, revisionRepo, dataData)
|
||||
dashboardController := controller.NewDashboardController(dashboardService)
|
||||
uploaderService := uploader.NewUploaderService(serviceConf, siteInfoCommonService)
|
||||
uploaderService := uploader.NewUploaderService(serviceConf, siteInfoCommonService, fileRecordService)
|
||||
uploadController := controller.NewUploadController(uploaderService)
|
||||
activityActivityRepo := activity.NewActivityRepo(dataData, configService)
|
||||
activityCommon := activity_common2.NewActivityCommon(activityRepo, activityQueueService)
|
||||
activityCommon := activity_common2.NewActivityCommon(activityRepo, service)
|
||||
commentCommonService := comment_common.NewCommentCommonService(commentCommonRepo)
|
||||
activityService := activity2.NewActivityService(activityActivityRepo, userCommon, activityCommon, tagCommonService, objService, commentCommonService, revisionService, metaCommonService, configService)
|
||||
activityController := controller.NewActivityController(activityService)
|
||||
roleController := controller_admin.NewRoleController(roleService)
|
||||
pluginConfigRepo := plugin_config.NewPluginConfigRepo(dataData)
|
||||
pluginUserConfigRepo := plugin_config.NewPluginUserConfigRepo(dataData)
|
||||
pluginCommonService := plugin_common.NewPluginCommonService(pluginConfigRepo, pluginUserConfigRepo, configService, dataData)
|
||||
importerService := importer.NewImporterService(questionService, rankService, userCommon)
|
||||
pluginCommonService := plugin_common.NewPluginCommonService(pluginConfigRepo, pluginUserConfigRepo, configService, dataData, importerService)
|
||||
pluginController := controller_admin.NewPluginController(pluginCommonService)
|
||||
permissionController := controller.NewPermissionController(rankService)
|
||||
userPluginController := controller.NewUserPluginController(pluginCommonService)
|
||||
reviewController := controller.NewReviewController(reviewService, rankService, captchaService)
|
||||
metaService := meta2.NewMetaService(metaCommonService, userCommon, answerRepo, questionRepo, eventQueueService)
|
||||
metaService := meta2.NewMetaService(metaCommonService, userCommon, answerRepo, questionRepo, eventqueueService)
|
||||
metaController := controller.NewMetaController(metaService)
|
||||
badgeGroupRepo := badge_group.NewBadgeGroupRepo(dataData, uniqueIDRepo)
|
||||
badgeAwardRepo := badge_award.NewBadgeAwardRepo(dataData, uniqueIDRepo)
|
||||
eventRuleRepo := badge.NewEventRuleRepo(dataData)
|
||||
badgeAwardService := badge2.NewBadgeAwardService(badgeAwardRepo, badgeRepo, userCommon, objService, notificationQueueService)
|
||||
badgeEventService := badge2.NewBadgeEventService(dataData, eventQueueService, badgeRepo, eventRuleRepo, badgeAwardService)
|
||||
badgeAwardService := badge2.NewBadgeAwardService(badgeAwardRepo, badgeRepo, userCommon, objService, noticequeueService)
|
||||
badgeEventService := badge2.NewBadgeEventService(dataData, eventqueueService, badgeRepo, eventRuleRepo, badgeAwardService)
|
||||
badgeService := badge2.NewBadgeService(badgeRepo, badgeGroupRepo, badgeAwardRepo, badgeEventService, siteInfoCommonService)
|
||||
badgeController := controller.NewBadgeController(badgeService, badgeAwardService)
|
||||
controller_adminBadgeController := controller_admin.NewBadgeController(badgeService)
|
||||
answerAPIRouter := router.NewAnswerAPIRouter(langController, userController, commentController, reportController, voteController, tagController, followController, collectionController, questionController, answerController, searchController, revisionController, rankController, userAdminController, reasonController, themeController, siteInfoController, controllerSiteInfoController, notificationController, dashboardController, uploadController, activityController, roleController, pluginController, permissionController, userPluginController, reviewController, metaController, badgeController, controller_adminBadgeController)
|
||||
apiKeyService := apikey.NewAPIKeyService(apiKeyRepo)
|
||||
adminAPIKeyController := controller_admin.NewAdminAPIKeyController(apiKeyService)
|
||||
featureToggleService := feature_toggle.NewFeatureToggleService(siteInfoRepo)
|
||||
embeddingService := embedding.NewEmbeddingService()
|
||||
mcpController := controller.NewMCPController(searchService, siteInfoCommonService, tagCommonService, questionCommon, commentRepo, userCommon, answerRepo, featureToggleService, embeddingService)
|
||||
aiConversationRepo := ai_conversation.NewAIConversationRepo(dataData)
|
||||
aiConversationService := ai_conversation2.NewAIConversationService(aiConversationRepo, userCommon)
|
||||
aiController := controller.NewAIController(searchService, siteInfoCommonService, tagCommonService, questionCommon, commentRepo, userCommon, answerRepo, mcpController, aiConversationService, featureToggleService)
|
||||
aiConversationController := controller.NewAIConversationController(aiConversationService, featureToggleService)
|
||||
aiConversationAdminController := controller_admin.NewAIConversationAdminController(aiConversationService, featureToggleService)
|
||||
answerAPIRouter := router.NewAnswerAPIRouter(langController, userController, commentController, reportController, voteController, tagController, followController, collectionController, questionController, answerController, searchController, revisionController, rankController, userAdminController, reasonController, themeController, siteInfoController, controllerSiteInfoController, notificationController, dashboardController, uploadController, activityController, roleController, pluginController, permissionController, userPluginController, reviewController, metaController, badgeController, controller_adminBadgeController, adminAPIKeyController, aiController, aiConversationController, aiConversationAdminController, mcpController)
|
||||
swaggerRouter := router.NewSwaggerRouter(swaggerConf)
|
||||
uiRouter := router.NewUIRouter(controllerSiteInfoController, siteInfoCommonService)
|
||||
authUserMiddleware := middleware.NewAuthUserMiddleware(authService, siteInfoCommonService)
|
||||
avatarMiddleware := middleware.NewAvatarMiddleware(serviceConf, uploaderService)
|
||||
shortIDMiddleware := middleware.NewShortIDMiddleware(siteInfoCommonService)
|
||||
templateRenderController := templaterender.NewTemplateRenderController(questionService, userService, tagService, answerService, commentService, siteInfoCommonService, questionRepo)
|
||||
templateController := controller.NewTemplateController(templateRenderController, siteInfoCommonService, eventQueueService, userService)
|
||||
templateController := controller.NewTemplateController(templateRenderController, siteInfoCommonService, eventqueueService, userService, questionService)
|
||||
templateRouter := router.NewTemplateRouter(templateController, templateRenderController, siteInfoController, authUserMiddleware)
|
||||
connectorController := controller.NewConnectorController(siteInfoCommonService, emailService, userExternalLoginService)
|
||||
userCenterLoginService := user_external_login2.NewUserCenterLoginService(userRepo, userCommon, userExternalLoginRepo, userActiveActivityRepo, siteInfoCommonService)
|
||||
@@ -283,9 +308,10 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database,
|
||||
captchaController := controller.NewCaptchaController()
|
||||
embedController := controller.NewEmbedController()
|
||||
renderController := controller.NewRenderController()
|
||||
pluginAPIRouter := router.NewPluginAPIRouter(connectorController, userCenterController, captchaController, embedController, renderController)
|
||||
sidebarController := controller.NewSidebarController()
|
||||
pluginAPIRouter := router.NewPluginAPIRouter(connectorController, userCenterController, captchaController, embedController, renderController, sidebarController)
|
||||
ginEngine := server.NewHTTPServer(debug, staticRouter, answerAPIRouter, swaggerRouter, uiRouter, authUserMiddleware, avatarMiddleware, shortIDMiddleware, templateRouter, pluginAPIRouter, uiConf)
|
||||
scheduledTaskManager := cron.NewScheduledTaskManager(siteInfoCommonService, questionService)
|
||||
scheduledTaskManager := cron.NewScheduledTaskManager(siteInfoCommonService, questionService, fileRecordService, userAdminService, serviceConf)
|
||||
application := newApplication(serverConf, ginEngine, scheduledTaskManager)
|
||||
return application, func() {
|
||||
cleanup2()
|
||||
|
||||
@@ -33,8 +33,12 @@ swaggerui:
|
||||
address: ':80'
|
||||
service_config:
|
||||
upload_path: "/data/uploads"
|
||||
clean_up_uploads: true
|
||||
clean_orphan_uploads_period_hours: 48
|
||||
purge_deleted_files_period_days: 30
|
||||
ui:
|
||||
public_url: '/'
|
||||
api_url: '/'
|
||||
base_url: ''
|
||||
api_base_url: ''
|
||||
|
||||
|
||||
+2265
-296
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 96 KiB |
+39
-29
@@ -214,11 +214,12 @@ Apache 2.0 licenses
|
||||
|
||||
The following components are provided under the Apache 2.0 License.
|
||||
|
||||
(Apache License, Version 2.0) react-helmet-async (https://github.com/staylor/react-helmet-async) [link](./licenses/LICENSE-staylor-react-helmet-async.txt)
|
||||
(Apache License, Version 2.0) golang-mock (https://github.com/golang/mock) [link](./licenses/LICENSE-golang-mock.txt)
|
||||
(Apache License, Version 2.0) gomock (https://github.com/uber-go/mock) [link](./licenses/LICENSE-uber-go-mock.txt)
|
||||
(Apache License, Version 2.0) google-wire (https://github.com/google/wire) [link](./licenses/LICENSE-google-wire.txt)
|
||||
(Apache License, Version 2.0) mojocn-base64Captcha (https://github.com/mojocn/base64Captcha) [link](./licenses/LICENSE-mojocn-base64Captcha.txt)
|
||||
(Apache License, Version 2.0) ory-dockertest (https://github.com/ory/dockertest) [link](./licenses/LICENSE-ory-dockertest.txt)
|
||||
(Apache License, Version 2.0) react-helmet-async (https://github.com/staylor/react-helmet-async) [link](./licenses/LICENSE-staylor-react-helmet-async.txt)
|
||||
(Apache License, Version 2.0) sashabaranov-go-openai (https://github.com/sashabaranov/go-openai) [link](./licenses/LICENSE-sashabaranov-go-openai.txt)
|
||||
(Apache License, Version 2.0) spf13-cobra (https://github.com/spf13/cobra) [link](./licenses/LICENSE-spf13-cobra.txt)
|
||||
|
||||
========================================================================
|
||||
@@ -227,52 +228,62 @@ MIT licenses
|
||||
|
||||
The following components are provided under the MIT License. See project link for details.
|
||||
|
||||
(MIT License) @codemirror/lang-markdown (https://github.com/codemirror/lang-markdown) [link](./licenses/LICENSE-codemirror-lang-markdown.txt)
|
||||
(MIT License) @codemirror/language-data (https://github.com/codemirror/language-data) [link](./licenses/LICENSE-codemirror-language-data.txt)
|
||||
(MIT License) @codemirror/state (https://github.com/codemirror/state) [link](./licenses/LICENSE-codemirror-state.txt)
|
||||
(MIT License) @codemirror/view (https://github.com/codemirror/view) [link](./licenses/LICENSE-codemirror-view.txt)
|
||||
(MIT License) anargu-gin-brotli (https://github.com/anargu/gin-brotli) [link](./licenses/LICENSE-anargu-gin-brotli.txt)
|
||||
(MIT License) asaskevich-govalidator (https://github.com/asaskevich/govalidator) [link](./licenses/LICENSE-asaskevich-govalidator.txt)
|
||||
(MIT License) axios (https://github.com/axios/axios) [link](./licenses/LICENSE-axios-axios.txt)
|
||||
(MIT License) bootstrap (https://github.com/twbs/bootstrap) [link](./licenses/LICENSE-twbs-bootstrap.txt)
|
||||
(MIT License) icons (https://github.com/twbs/icons) [link](./licenses/LICENSE-twbs-icons.txt)
|
||||
(MIT License) classnames (https://github.com/JedWatson/classnames) [link](./LICENSE-JedWatson-classnames.txt)
|
||||
(MIT License) codemirror5 (https://github.com/codemirror/codemirror5) [link](./licenses/LICENSE-codemirror-codemirror5.txt)
|
||||
(MIT License) codemirror (https://github.com/codemirror/basic-setup) [link](./licenses/LICENSE-codemirror-basic-setup.txt)
|
||||
(MIT License) color (https://github.com/Qix-/color) [link](./licenses/LICENSE-Qix--color.txt)
|
||||
(MIT License) copy-to-clipboard (https://github.com/sudodoki/copy-to-clipboard) [link](./licenses/LICENSE-sudodoki-copy-to-clipboard.txt)
|
||||
(MIT License) dayjs (https://github.com/iamkun/dayjs) [link](./licenses/LICENSE-iamkun-dayjs.txt)
|
||||
(MIT License) disintegration-imaging (https://github.com/disintegration/imaging) [link](./licenses/LICENSE-disintegration-imaging.txt)
|
||||
(MIT License) front-matter (https://github.com/jxson/front-matter) [link](./licenses/LICENSE-jxson-front-matter.txt)
|
||||
(MIT License) gin-gonic-gin (https://github.com/gin-gonic/gin) [link](./licenses/LICENSE-gin-gonic-gin.txt)
|
||||
(MIT License) go-gomail-gomail (https://gopkg.in/gomail.v2) [link](./licenses/LICENSE-go-gomail-gomail.txt)
|
||||
(MIT License) go-playground-locales (https://github.com/go-playground/locales) [link](./licenses/LICENSE-go-playground-locales.txt)
|
||||
(MIT License) go-playground-universal-translator (https://github.com/go-playground/universal-translator) [link](./licenses/LICENSE-go-playground-universal-translator.txt)
|
||||
(MIT License) go-playground-validator (https://github.com/go-playground/validator) [link](./licenses/LICENSE-go-playground-validator.txt)
|
||||
(MIT License) go-resty-resty (https://github.com/go-resty/resty) [link](./licenses/LICENSE-go-resty-resty.txt)
|
||||
(MIT License) goccy-go-json (https://github.com/goccy/go-json) [link](./licenses/LICENSE-goccy-go-json.txt)
|
||||
(MIT License) i18next (https://github.com/i18next/i18next) [link](./licenses/LICENSE-i18next-i18next.txt)
|
||||
(MIT License) icons (https://github.com/twbs/icons) [link](./licenses/LICENSE-twbs-icons.txt)
|
||||
(MIT License) jinzhu-copier (https://github.com/jinzhu/copier) [link](./licenses/LICENSE-jinzhu-copier.txt)
|
||||
(MIT License) jinzhu-now (https://github.com/jinzhu/now) [link](./licenses/LICENSE-jinzhu-now.txt)
|
||||
(MIT License) joho-godotenv (https://github.com/joho/godotenv) [link](./licenses/LICENSE-joho-godotenv.txt)
|
||||
(MIT License) jordan-wright-email (https://github.com/jordan-wright/email) [link](./licenses/LICENSE-jordan-wright-email.txt)
|
||||
(MIT License) js-sha256 (https://github.com/emn178/js-sha256) [link](./licenses/LICENSE-emn178-js-sha256.txt)
|
||||
(MIT License) lib-pq (https://github.com/lib/pq) [link](./licenses/LICENSE-lib-pq.txt)
|
||||
(MIT License) lodash (https://github.com/lodash/lodash) [link](./licenses/LICENSE-lodash-lodash.txt)
|
||||
(MIT License) Machiel-slugify (https://github.com/Machiel/slugify) [link](./licenses/LICENSE-Machiel-slugify.txt)
|
||||
(MIT License) mark3labs-mcp-go (https://github.com/mark3labs/mcp-go) [link](./licenses/LICENSE-mark3labs-mcp-go.txt)
|
||||
(MIT License) marked (https://github.com/markedjs/marked) [link](./licenses/LICENSE-markedjs-marked.txt)
|
||||
(MIT License) Masterminds-semver (https://github.com/Masterminds/semver) [link](./licenses/LICENSE-Masterminds-semver.txt)
|
||||
(MIT License) mattn-go-sqlite3 (https://github.com/mattn/go-sqlite3) [link](./licenses/LICENSE-mattn-go-sqlite3.txt)
|
||||
(MIT License) mozillazg-go-pinyin (https://github.com/mozillazg/go-pinyin) [link](./licenses/LICENSE-mozillazg-go-pinyin.txt)
|
||||
(MIT License) mozillazg-go-unidecode (https://github.com/mozillazg/go-unidecode) [link](./licenses/LICENSE-mozillazg-go-unidecode.txt)
|
||||
(MIT License) next-share (https://github.com/Bunlong/next-share) [link](./licenses/LIcENSE-Bunlong-next-share.txt)
|
||||
(MIT License) node-qrcode (https://github.com/soldair/node-qrcode) [link](./licenses/LICENSE-soldair-qrcode.txt)
|
||||
(MIT License) react (https://github.com/facebook/react) [link](./licenses/LICENSE-facebook-react.txt)
|
||||
(MIT License) react-bootstrap (https://github.com/react-bootstrap/react-bootstrap) [link](./licenses/LICENSE-react-bootstrap-react-bootstrap.txt)
|
||||
(MIT License) react-i18next (https://github.com/i18next/react-i18next) [link](./licenses/LICENSE-i18next-react-i18next.txt)
|
||||
(MIT License) react-router (https://github.com/remix-run/react-router) [link](./licenses/LICENSE-remix-run-react-router.txt)
|
||||
(MIT License) swr (https://github.com/vercel/swr) [link](./licenses/LICENSE-vercel-swr.txt)
|
||||
(MIT License) zustand (https://github.com/pmndrs/zustand) [link](./licenses/LICENSE-pmndrs-zustand.txt)
|
||||
(MIT License) Chain-Zhang-pinyin (https://github.com/Chain-Zhang/pinyin) [link](./licenses/LICENSE-Chain-Zhang-pinyin.txt)
|
||||
(MIT License) Machiel-slugify (https://github.com/Machiel/slugify) [link](./licenses/LICENSE-Machiel-slugify.txt)
|
||||
(MIT License) Masterminds-semver (https://github.com/Masterminds/semver) [link](./licenses/LICENSE-Masterminds-semver.txt)
|
||||
(MIT License) anargu-gin-brotli (https://github.com/anargu/gin-brotli) [link](./licenses/LICENSE-anargu-gin-brotli.txt)
|
||||
(MIT License) asaskevich-govalidator (https://github.com/asaskevich/govalidator) [link](./licenses/LICENSE-asaskevich-govalidator.txt)
|
||||
(MIT License) disintegration-imaging (https://github.com/disintegration/imaging) [link](./licenses/LICENSE-disintegration-imaging.txt)
|
||||
(MIT License) gin-gonic-gin (https://github.com/gin-gonic/gin) [link](./licenses/LICENSE-gin-gonic-gin.txt)
|
||||
(MIT License) go-playground-locales (https://github.com/go-playground/locales) [link](./licenses/LICENSE-go-playground-locales.txt)
|
||||
(MIT License) go-playground-universal-translator (https://github.com/go-playground/universal-translator) [link](./licenses/LICENSE-go-playground-universal-translator.txt)
|
||||
(MIT License) go-playground-validator (https://github.com/go-playground/validator) [link](./licenses/LICENSE-go-playground-validator.txt)
|
||||
(MIT License) goccy-go-json (https://github.com/goccy/go-json) [link](./licenses/LICENSE-goccy-go-json.txt)
|
||||
(MIT License) jinzhu-copier (https://github.com/jinzhu/copier) [link](./licenses/LICENSE-jinzhu-copier.txt)
|
||||
(MIT License) jinzhu-now (https://github.com/jinzhu/now) [link](./licenses/LICENSE-jinzhu-now.txt)
|
||||
(MIT License) jordan-wright-email (https://github.com/jordan-wright/email) [link](./licenses/LICENSE-jordan-wright-email.txt)
|
||||
(MIT License) lib-pq (https://github.com/lib/pq) [link](./licenses/LICENSE-lib-pq.txt)
|
||||
(MIT License) mattn-go-sqlite3 (https://github.com/mattn/go-sqlite3) [link](./licenses/LICENSE-mattn-go-sqlite3.txt)
|
||||
(MIT License) segmentfault-pacman (https://github.com/segmentfault/pacman) [link](./licenses/LICENSE-segmentfault-pacman.txt)
|
||||
(MIT License) robfig-cron (https://github.com/robfig/cron) [link](./licenses/LICENSE-robfig-cron.txt)
|
||||
(MIT License) scottleedavis-go-exif-remove (https://github.com/scottleedavis/go-exif-remove) [link](./licenses/LICENSE-scottleedavis-go-exif-remove.txt)
|
||||
(MIT License) segmentfault-pacman (https://github.com/segmentfault/pacman) [link](./licenses/LICENSE-segmentfault-pacman.txt)
|
||||
(MIT License) stretchr-testify (https://github.com/stretchr/testify) [link](./licenses/LICENSE-stretchr-testify.txt)
|
||||
(MIT License) swaggo-files (https://github.com/swaggo/files) [link](./licenses/LICENSE-swaggo-files.txt)
|
||||
(MIT License) swaggo-gin-swagger (https://github.com/swaggo/gin-swagger) [link](./licenses/LICENSE-swaggo-gin-swagger.txt)
|
||||
(MIT License) swaggo-swag (https://github.com/swaggo/swag) [link](./licenses/LICENSE-swaggo-swag.txt)
|
||||
(MIT License) swr (https://github.com/vercel/swr) [link](./licenses/LICENSE-vercel-swr.txt)
|
||||
(MIT License) tidwall-gjson (https://github.com/tidwall/gjson) [link](./licenses/LICENSE-tidwall-gjson.txt)
|
||||
(MIT License) uuidjs-uuid (https://github.com/uuidjs/uuid) [link](./licenses/LICENSE-uuidjs-uuid.txt)
|
||||
(MIT License) yuin-goldmark (https://github.com/yuin/goldmark) [link](./licenses/LICENSE-yuin-goldmark.txt)
|
||||
(MIT License) go-gomail-gomail (https://gopkg.in/gomail.v2) [link](./licenses/LICENSE-go-gomail-gomail.txt)
|
||||
(MIT License) front-matter (https://github.com/jxson/front-matter) [link](./licenses/LICENSE-front-matter.txt)
|
||||
(MIT License) zustand (https://github.com/pmndrs/zustand) [link](./licenses/LICENSE-pmndrs-zustand.txt)
|
||||
|
||||
========================================================================
|
||||
BSD licenses
|
||||
@@ -281,14 +292,13 @@ BSD licenses
|
||||
The following components are provided under a BSD license. See project link for details.
|
||||
|
||||
(BSD 2-Clause) bwmarrin-snowflake (https://github.com/bwmarrin/snowflake) [link](./licenses/LICENSE-bwmarrin-snowflake.txt)
|
||||
(BSD 2-Clause) xorm (https://xorm.io/xorm) [link](./licenses/LICENSE-xorm.txt)
|
||||
(BSD 3-Clause) cznic-sqlite (https://modernc.org/sqlite) [link](./licenses/LICENSE-cznic-sqlite.txt)
|
||||
(BSD 3-Clause) google-uuid (https://github.com/google/uuid) [link](./licenses/LICENSE-google-uuid.txt)
|
||||
(BSD 3-Clause) grokify-html-strip-tags-go (https://github.com/grokify/html-strip-tags-go) [link](./licenses/LICENSE-grokify-html-strip-tags-go.txt)
|
||||
(BSD 3-Clause) microcosm-cc-bluemonday (https://github.com/microcosm-cc/bluemonday) [link](./licenses/LICENSE-microcosm-cc-bluemonday.txt)
|
||||
(BSD 3-Clause) cznic-sqlite (https://modernc.org/sqlite) [link](./licenses/LICENSE-cznic-sqlite.txt)
|
||||
(BSD 3-Clause) jsdiff (https://github.com/kpdecker/jsdiff) [link](./licenses/LICENSE-kpdecker-jsdiff.txt)
|
||||
(BSD 3-Clause) node-md5 (https://github.com/pvorb/node-md5) [link](./licenses/LICENSE-pvorb-node-md5.txt)
|
||||
(BSD 3-Clause) microcosm-cc-bluemonday (https://github.com/microcosm-cc/bluemonday) [link](./licenses/LICENSE-microcosm-cc-bluemonday.txt)
|
||||
(BSD 3-Clause) qs (https://github.com/ljharb/qs) [link](./licenses/LICENSE-ljharb-qs.txt)
|
||||
(BSD 2-Clause) xorm (https://xorm.io/xorm) [link](./licenses/LICENSE-xorm.txt)
|
||||
|
||||
========================================================================
|
||||
ISC licenses
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
Apache Answer (incubating)
|
||||
Copyright 2024 The Apache Software Foundation
|
||||
Apache Answer
|
||||
Copyright 2023-2026 The Apache Software Foundation
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (https://www.apache.org/).
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (C) 2017 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
||||
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 2014-2024 Chen, Yi-Cyuan
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-present Jeevanandam M., https://myjeeva.com <jeeva@myjeeva.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 2013 John Barton
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Chain Zhang
|
||||
Copyright (c) 2024 Anthropic, PBC
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 mozillazg
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 mozillazg
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,27 +0,0 @@
|
||||
Copyright © 2011-2012, Paul Vorbach.
|
||||
Copyright © 2009, Jeff Mott.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this
|
||||
list of conditions and the following disclaimer in the documentation and/or
|
||||
other materials provided with the distribution.
|
||||
* Neither the name Crypto-JS nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,9 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2010-2020 Robert Kieffer and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+2265
-297
File diff suppressed because it is too large
Load Diff
+1420
-187
File diff suppressed because it is too large
Load Diff
@@ -15,158 +15,178 @@
|
||||
// specific language governing permissions and limitations
|
||||
// under the License.
|
||||
|
||||
module github.com/apache/incubator-answer
|
||||
module github.com/apache/answer
|
||||
|
||||
go 1.18
|
||||
go 1.25.0
|
||||
|
||||
require (
|
||||
github.com/Chain-Zhang/pinyin v0.1.3
|
||||
github.com/Machiel/slugify v1.0.1
|
||||
github.com/Masterminds/semver/v3 v3.1.1
|
||||
github.com/Masterminds/semver/v3 v3.3.0
|
||||
github.com/anargu/gin-brotli v0.0.0-20220116052358-12bf532d5267
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
|
||||
github.com/bwmarrin/snowflake v0.3.0
|
||||
github.com/disintegration/imaging v1.6.2
|
||||
github.com/gin-gonic/gin v1.9.1
|
||||
github.com/gin-gonic/gin v1.10.0
|
||||
github.com/go-playground/locales v0.14.1
|
||||
github.com/go-playground/universal-translator v0.18.1
|
||||
github.com/go-playground/validator/v10 v10.14.0
|
||||
github.com/go-sql-driver/mysql v1.6.0
|
||||
github.com/goccy/go-json v0.10.2
|
||||
github.com/golang/mock v1.6.0
|
||||
github.com/google/uuid v1.3.0
|
||||
github.com/go-playground/validator/v10 v10.22.1
|
||||
github.com/go-resty/resty/v2 v2.17.1
|
||||
github.com/go-sql-driver/mysql v1.8.1
|
||||
github.com/goccy/go-json v0.10.3
|
||||
github.com/google/uuid v1.6.0
|
||||
github.com/google/wire v0.5.0
|
||||
github.com/grokify/html-strip-tags-go v0.0.1
|
||||
github.com/jinzhu/copier v0.3.5
|
||||
github.com/grokify/html-strip-tags-go v0.1.0
|
||||
github.com/jinzhu/copier v0.4.0
|
||||
github.com/jinzhu/now v1.1.5
|
||||
github.com/lib/pq v1.10.7
|
||||
github.com/microcosm-cc/bluemonday v1.0.21
|
||||
github.com/ory/dockertest/v3 v3.10.0
|
||||
github.com/joho/godotenv v1.5.1
|
||||
github.com/lib/pq v1.10.9
|
||||
github.com/mark3labs/mcp-go v0.43.2
|
||||
github.com/microcosm-cc/bluemonday v1.0.27
|
||||
github.com/mozillazg/go-pinyin v0.20.0
|
||||
github.com/mozillazg/go-unidecode v0.2.0
|
||||
github.com/ory/dockertest/v3 v3.11.0
|
||||
github.com/robfig/cron/v3 v3.0.1
|
||||
github.com/sashabaranov/go-openai v1.41.2
|
||||
github.com/scottleedavis/go-exif-remove v0.0.0-20230314195146-7e059d593405
|
||||
github.com/segmentfault/pacman v1.0.5-0.20230822083413-c0075a2d401f
|
||||
github.com/segmentfault/pacman/contrib/cache/memory v0.0.0-20230822083413-c0075a2d401f
|
||||
github.com/segmentfault/pacman/contrib/conf/viper v0.0.0-20221018072427-a15dd1434e05
|
||||
github.com/segmentfault/pacman/contrib/i18n v0.0.0-20230516093754-b76aef1c1150
|
||||
github.com/segmentfault/pacman/contrib/log/zap v0.0.0-20221018072427-a15dd1434e05
|
||||
github.com/segmentfault/pacman/contrib/server/http v0.0.0-20221018072427-a15dd1434e05
|
||||
github.com/spf13/cobra v1.6.1
|
||||
github.com/stretchr/testify v1.8.4
|
||||
github.com/swaggo/files v1.0.0
|
||||
github.com/swaggo/gin-swagger v1.5.3
|
||||
github.com/segmentfault/pacman/contrib/conf/viper v0.0.0-20230822083413-c0075a2d401f
|
||||
github.com/segmentfault/pacman/contrib/i18n v0.0.0-20230822083413-c0075a2d401f
|
||||
github.com/segmentfault/pacman/contrib/log/zap v0.0.0-20230822083413-c0075a2d401f
|
||||
github.com/segmentfault/pacman/contrib/server/http v0.0.0-20230822083413-c0075a2d401f
|
||||
github.com/spf13/cobra v1.8.1
|
||||
github.com/stretchr/testify v1.9.0
|
||||
github.com/swaggo/files v1.0.1
|
||||
github.com/swaggo/gin-swagger v1.6.0
|
||||
github.com/swaggo/swag v1.16.3
|
||||
github.com/tidwall/gjson v1.14.4
|
||||
github.com/yuin/goldmark v1.4.13
|
||||
golang.org/x/crypto v0.21.0
|
||||
golang.org/x/image v0.13.0
|
||||
golang.org/x/net v0.21.0
|
||||
github.com/tidwall/gjson v1.17.3
|
||||
github.com/yuin/goldmark v1.7.4
|
||||
go.uber.org/mock v0.6.0
|
||||
golang.org/x/crypto v0.53.0
|
||||
golang.org/x/image v0.20.0
|
||||
golang.org/x/term v0.44.0
|
||||
golang.org/x/text v0.39.0
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
modernc.org/sqlite v1.24.0
|
||||
xorm.io/builder v0.3.12
|
||||
modernc.org/sqlite v1.33.0
|
||||
xorm.io/builder v0.3.13
|
||||
xorm.io/xorm v1.3.2
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.1 // indirect
|
||||
filippo.io/edwards25519 v1.1.0 // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
|
||||
github.com/KyleBanks/depth v1.2.1 // indirect
|
||||
github.com/LinkinStars/go-i18n/v2 v2.2.2 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
|
||||
github.com/andybalholm/brotli v1.0.4 // indirect
|
||||
github.com/andybalholm/brotli v1.1.0 // indirect
|
||||
github.com/aymerick/douceur v0.2.0 // indirect
|
||||
github.com/bytedance/sonic v1.9.1 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
|
||||
github.com/containerd/continuity v0.4.2 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/docker/cli v24.0.6+incompatible // indirect
|
||||
github.com/docker/docker v24.0.6+incompatible // indirect
|
||||
github.com/docker/go-connections v0.4.0 // indirect
|
||||
github.com/bahlo/generic-list-go v0.2.0 // indirect
|
||||
github.com/buger/jsonparser v1.1.1 // indirect
|
||||
github.com/bytedance/sonic v1.12.2 // indirect
|
||||
github.com/bytedance/sonic/loader v0.2.0 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||
github.com/cloudwego/base64x v0.1.4 // indirect
|
||||
github.com/cloudwego/iasm v0.2.0 // indirect
|
||||
github.com/containerd/continuity v0.4.3 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/docker/cli v27.2.1+incompatible // indirect
|
||||
github.com/docker/docker v27.2.1+incompatible // indirect
|
||||
github.com/docker/go-connections v0.5.0 // indirect
|
||||
github.com/docker/go-units v0.5.0 // indirect
|
||||
github.com/dsoprea/go-exif v0.0.0-20190901173045-3ce78807c90f // indirect
|
||||
github.com/dsoprea/go-jpeg-image-structure v0.0.0-20190422055009-d6f9ba25cf48 // indirect
|
||||
github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696 // indirect
|
||||
github.com/dsoprea/go-png-image-structure v0.0.0-20190624104353-c9b28dcdc5c8 // indirect
|
||||
github.com/dsoprea/go-exif v0.0.0-20230826092837-6579e82b732d // indirect
|
||||
github.com/dsoprea/go-exif/v2 v2.0.0-20230826092837-6579e82b732d // indirect
|
||||
github.com/dsoprea/go-iptc v0.0.0-20200610044640-bc9ca208b413 // indirect
|
||||
github.com/dsoprea/go-jpeg-image-structure v0.0.0-20221012074422-4f3f7e934102 // indirect
|
||||
github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd // indirect
|
||||
github.com/dsoprea/go-photoshop-info-format v0.0.0-20200610045659-121dd752914d // indirect
|
||||
github.com/dsoprea/go-png-image-structure v0.0.0-20210512210324-29b889a6093d // indirect
|
||||
github.com/dsoprea/go-utility v0.0.0-20221003172846-a3e1774ef349 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
|
||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.5 // indirect
|
||||
github.com/gin-contrib/sse v0.1.0 // indirect
|
||||
github.com/go-errors/errors v1.0.1 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.20.0 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||
github.com/go-openapi/spec v0.20.9 // indirect
|
||||
github.com/go-openapi/swag v0.22.4 // indirect
|
||||
github.com/go-errors/errors v1.5.1 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.21.0 // indirect
|
||||
github.com/go-openapi/jsonreference v0.21.0 // indirect
|
||||
github.com/go-openapi/spec v0.21.0 // indirect
|
||||
github.com/go-openapi/swag v0.23.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.1.0 // indirect
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/geo v0.0.0-20190812012225-f41920e961ce // indirect
|
||||
github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect
|
||||
github.com/golang/snappy v0.0.4 // indirect
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||
github.com/gorilla/css v1.0.0 // indirect
|
||||
github.com/gorilla/css v1.0.1 // indirect
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/imdario/mergo v0.3.16 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.1 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/invopop/jsonschema v0.13.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
|
||||
github.com/leodido/go-urn v1.2.4 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.2.8 // indirect
|
||||
github.com/leodido/go-urn v1.4.0 // indirect
|
||||
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect
|
||||
github.com/lestrrat-go/strftime v1.0.6 // indirect
|
||||
github.com/magiconair/properties v1.8.6 // indirect
|
||||
github.com/lestrrat-go/strftime v1.1.0 // indirect
|
||||
github.com/magiconair/properties v1.8.7 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
github.com/moby/docker-image-spec v1.3.1 // indirect
|
||||
github.com/moby/term v0.5.0 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/ncruces/go-strftime v0.1.9 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.0.2 // indirect
|
||||
github.com/opencontainers/runc v1.1.9 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0 // indirect
|
||||
github.com/opencontainers/runc v1.1.14 // indirect
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/sagikazarmark/locafero v0.6.0 // indirect
|
||||
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
|
||||
github.com/sirupsen/logrus v1.9.3 // indirect
|
||||
github.com/spf13/afero v1.9.2 // indirect
|
||||
github.com/spf13/cast v1.5.0 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
||||
github.com/spf13/afero v1.11.0 // indirect
|
||||
github.com/spf13/cast v1.7.1 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/spf13/viper v1.13.0 // indirect
|
||||
github.com/subosito/gotenv v1.4.1 // indirect
|
||||
github.com/spf13/viper v1.19.0 // indirect
|
||||
github.com/subosito/gotenv v1.6.0 // indirect
|
||||
github.com/syndtr/goleveldb v1.0.0 // indirect
|
||||
github.com/tidwall/match v1.1.1 // indirect
|
||||
github.com/tidwall/pretty v1.2.0 // indirect
|
||||
github.com/tidwall/pretty v1.2.1 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/ugorji/go/codec v1.2.11 // indirect
|
||||
github.com/ugorji/go/codec v1.2.12 // indirect
|
||||
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
||||
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
||||
go.uber.org/atomic v1.10.0 // indirect
|
||||
go.uber.org/multierr v1.10.0 // indirect
|
||||
go.uber.org/zap v1.24.0 // indirect
|
||||
golang.org/x/arch v0.3.0 // indirect
|
||||
golang.org/x/mod v0.12.0 // indirect
|
||||
golang.org/x/sys v0.18.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
golang.org/x/tools v0.13.0 // indirect
|
||||
google.golang.org/protobuf v1.30.0 // indirect
|
||||
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.27.0 // indirect
|
||||
golang.org/x/arch v0.10.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
|
||||
golang.org/x/net v0.56.0 // indirect
|
||||
golang.org/x/sys v0.46.0 // indirect
|
||||
golang.org/x/tools v0.47.0 // indirect
|
||||
google.golang.org/protobuf v1.34.2 // indirect
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
lukechampine.com/uint128 v1.2.0 // indirect
|
||||
modernc.org/cc/v3 v3.40.0 // indirect
|
||||
modernc.org/ccgo/v3 v3.16.13 // indirect
|
||||
modernc.org/libc v1.22.5 // indirect
|
||||
modernc.org/mathutil v1.5.0 // indirect
|
||||
modernc.org/memory v1.5.0 // indirect
|
||||
modernc.org/opt v0.1.3 // indirect
|
||||
modernc.org/strutil v1.1.3 // indirect
|
||||
modernc.org/token v1.0.1 // indirect
|
||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||
modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a // indirect
|
||||
modernc.org/mathutil v1.6.0 // indirect
|
||||
modernc.org/memory v1.8.0 // indirect
|
||||
modernc.org/strutil v1.2.0 // indirect
|
||||
modernc.org/token v1.1.0 // indirect
|
||||
sigs.k8s.io/yaml v1.4.0 // indirect
|
||||
)
|
||||
|
||||
replace lukechampine.com/uint128 v1.1.1 => github.com/aichy126/uint128 v1.1.1
|
||||
|
||||
replace modernc.org/cc/v3 v3.40.0 => gitlab.com/cznic/cc/v3 v3.40.0
|
||||
|
||||
replace github.com/lyft/protoc-gen-validate v0.0.13 => github.com/LinkinStars/protoc-gen-validate v0.0.0-20251030022322-3fddbbe5a0e6
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+497
-270
File diff suppressed because it is too large
Load Diff
+273
-46
@@ -57,6 +57,8 @@ backend:
|
||||
other: Edit
|
||||
undelete:
|
||||
other: Undelete
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: Cyfrinair
|
||||
pass:
|
||||
other: Password
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: This post
|
||||
email_or_password_wrong_error:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: Dim caniatâd i ddiweddaru.
|
||||
question_closed_cannot_add:
|
||||
other: Mae cwestiynau ar gau ac ni ellir eu hychwanegu.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Nid oes modd golygu sylwadau.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: Sylw heb ei ganfod.
|
||||
cannot_edit_after_deadline:
|
||||
other: Mae'r amser sylwadau wedi bod yn rhy hir i'w addasu.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: E-bost yn bodoli eisoes.
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: Dim caniatâd i cau.
|
||||
cannot_update:
|
||||
other: Dim caniatâd i ddiweddaru.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Reputation rank fail to meet the condition.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: You cannot delete a tag that is in use.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: Ni allwch osod cyfystyr y tag cyfredol fel ei hun.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: The from name cannot be a email address.
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "Error {{.Field}} format near '{{.Content}}' at line {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "The number of users you add at once should be in the range of 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Wedi methu darllen y ffurfwedd
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: rude or abusive
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: a duplicate
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: not an answer
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: no longer needed
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: angen manylion neu eglurder
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: rhywbeth arall
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new email address"
|
||||
body:
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} answered your question"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} invited you to answer"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} commented on your post"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] New question: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Password reset"
|
||||
body:
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new account"
|
||||
body:
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test Email"
|
||||
body:
|
||||
other: "This is a test email."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: upvote
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: Sut i Fformatio
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">i wneud cysylltiadau</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title]( https://url.com)</code></pre></li><li><p class="mb-2">rhoi dychweliadau rhwng paragraffau</p></li><li><p class="mb-2"><em>_italic_</em> neu **<strong>beiddgar</strong>**</p></li><li><p class="mb-2">cod mewnoliad gan 4 bwlch</p></li><li><p class="mb-2">dyfyniad drwy osod <code>></code> ar ddechrau'r llinell</p></li><li><p class="mb-2">backtick yn dianc o <code>`like _this_`</code></p></li><li><p class="mb-2">creu ffensys cod gyda thic wrth gefn <code>`</code></p><pre class="mb-0"><code>```<br/>cod yma<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: Cynt
|
||||
next: Nesaf
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: tag wiki
|
||||
create_tag: Creu Tag
|
||||
edit_tag: Golygu Tag
|
||||
ask_a_question: Ychwanegu Cwestiwn
|
||||
ask_a_question: Create Question
|
||||
edit_question: Golygu Cwestiwn
|
||||
edit_answer: Golygu Ateb
|
||||
search: Chwiliwch
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: Gwall HTTP 500
|
||||
http_403: Gwall HTTP 403
|
||||
logout: Log Out
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: Hysbysiadau
|
||||
inbox: Mewnflwch
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: Ni all ffeil fod yn wag.
|
||||
only_image: Dim ond ffeiliau delwedd a ganiateir.
|
||||
max_size: Ni all maint y ffeil fod yn fwy na 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Disgrifiad
|
||||
tab_url: URL delwedd
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Tabl
|
||||
heading: Pennawd
|
||||
cell: Cell
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: Rwy'n cau'r post hon fel...
|
||||
btn_cancel: Canslo
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Are you sure you wish to delete?
|
||||
close: Close
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Edit Tag
|
||||
default_reason: Edit tag
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: day
|
||||
hours: hours
|
||||
days: days
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Hidlo yn ôl enw tag
|
||||
no_desc: Nid oes gan y tag unrhyw ddisgrifiad.
|
||||
more: Mwy
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Ychwanegu Cwestiwn
|
||||
title: Create Question
|
||||
edit_title: Golygu Cwestiwn
|
||||
default_reason: Golygu Cwestiwn
|
||||
default_first_reason: Add question
|
||||
default_first_reason: Create question
|
||||
similar_questions: Cwestiynau tebyg
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Diwygiad
|
||||
title:
|
||||
label: Teitl
|
||||
placeholder: Byddwch yn benodol a dychmygwch eich bod yn gofyn cwestiwn i berson arall
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Ni all teitl fod yn wag.
|
||||
range: Teitl hyd at 20 nod
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Corff
|
||||
msg:
|
||||
empty: Ni all corff fod yn wag.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Tagiau
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Ychwanegu tag
|
||||
create_btn: Creu tag newydd
|
||||
search_tag: Chwilio tag
|
||||
hint: "Disgrifiwch beth yw eich cwestiwn, mae angen o leiaf un tag."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: No tags matched
|
||||
tag_required_text: Required tag (at least one)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Search
|
||||
footer:
|
||||
build_on: >-
|
||||
Powered by <1> Apache Answer </1>- the open-source software that powers Q&A communities.<br />Made with love © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Change
|
||||
loading: loading...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile image
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Your revision will show after review.
|
||||
sent_success: Sent successfully
|
||||
related_question:
|
||||
title: Related Questions
|
||||
title: Related
|
||||
answers: answers
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: People Asked
|
||||
desc: Select people who you think might know the answer.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Search people
|
||||
question_detail:
|
||||
action: Action
|
||||
created: Created
|
||||
Asked: Asked
|
||||
asked: asked
|
||||
update: Modified
|
||||
Edited: Edited
|
||||
edit: edited
|
||||
commented: commented
|
||||
Views: Viewed
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Sign up
|
||||
logout: Log out
|
||||
verify: Verify
|
||||
add_question: Add question
|
||||
create: Create
|
||||
approve: Approve
|
||||
reject: Reject
|
||||
skip: Skip
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Search Results
|
||||
keywords: Keywords
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Follow
|
||||
following: Following
|
||||
counts: "{{count}} Results"
|
||||
counts_loading: "... Results"
|
||||
more: More
|
||||
sort_btns:
|
||||
relevance: Relevance
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post.
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Your new account is confirmed; you will be redirected to the home page.
|
||||
link: Continue to homepage
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: All Questions
|
||||
x_questions: "{{ count }} Questions"
|
||||
x_answers: "{{ count }} answers"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Questions
|
||||
answers: Answers
|
||||
newest: Newest
|
||||
active: Active
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Score
|
||||
unanswered: Unanswered
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Top Questions
|
||||
stats: Stats
|
||||
list_empty: No posts found.<br />Perhaps you'd like to select a different tab?
|
||||
content_empty: No posts found.
|
||||
accepted: Accepted
|
||||
answered: answered
|
||||
asked: asked
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Database file
|
||||
placeholder: /data/answer.db
|
||||
msg: Database file cannot be empty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Create config.yaml
|
||||
label: The config.yaml file created.
|
||||
@@ -1632,7 +1717,7 @@ ui:
|
||||
label: Name
|
||||
msg: Name cannot be empty.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Password
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Password cannot be empty.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: Email
|
||||
text: You will need this email to log in.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Branding
|
||||
legal: Legal
|
||||
write: Write
|
||||
terms: Terms
|
||||
tos: Terms of Service
|
||||
privacy: Privacy
|
||||
seo: SEO
|
||||
customize: Customize
|
||||
themes: Themes
|
||||
css_html: CSS/HTML
|
||||
login: Login
|
||||
privileges: Privileges
|
||||
plugins: Plugins
|
||||
installed_plugins: Installed Plugins
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Welcome to {{site_name}}
|
||||
user_center:
|
||||
login: Login
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "Questions:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Answers:"
|
||||
comments: "Comments:"
|
||||
votes: "Votes:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Please enter the user's email, one per line."
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Name
|
||||
email: Email
|
||||
reputation: Reputation
|
||||
created_at: Created Time
|
||||
delete_at: Deleted Time
|
||||
suspend_at: Suspended Time
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Status
|
||||
role: Role
|
||||
action: Action
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspend this user
|
||||
content: A suspended user can't log in.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Questions
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Timezone
|
||||
msg: Timezone cannot be empty.
|
||||
text: Choose a city in the same timezone as you.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Privacy policy
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Write
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for each question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Modify the colors used by your themes
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (optional)
|
||||
empty: cannot be empty
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Are you sure you want to discard your draft?
|
||||
messages:
|
||||
post_deleted: This post has been deleted.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+470
-243
File diff suppressed because it is too large
Load Diff
+442
-215
File diff suppressed because it is too large
Load Diff
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+279
-48
@@ -58,6 +58,8 @@ backend:
|
||||
other: Edit
|
||||
undelete:
|
||||
other: Undelete
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -138,6 +140,8 @@ backend:
|
||||
other: Password
|
||||
pass:
|
||||
other: Password
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: This post
|
||||
email_or_password_wrong_error:
|
||||
@@ -169,6 +173,8 @@ backend:
|
||||
other: No permission to update.
|
||||
question_closed_cannot_add:
|
||||
other: Questions are closed and cannot be added.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Comment are not allowed to edit.
|
||||
@@ -176,6 +182,8 @@ backend:
|
||||
other: Comment not found.
|
||||
cannot_edit_after_deadline:
|
||||
other: The comment time has been too long to modify.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: Email already exists.
|
||||
@@ -225,6 +233,10 @@ backend:
|
||||
other: No permission to close.
|
||||
cannot_update:
|
||||
other: No permission to update.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Reputation rank fail to meet the condition.
|
||||
@@ -254,6 +266,8 @@ backend:
|
||||
other: You cannot delete a tag that is in use.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: You cannot set the synonym of the current tag as itself.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: The from name cannot be a email address.
|
||||
@@ -297,6 +311,14 @@ backend:
|
||||
other: "Error {{.Field}} format near '{{.Content}}' at line {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "The number of users you add at once should be in the range of 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Read config failed
|
||||
@@ -327,9 +349,7 @@ backend:
|
||||
name:
|
||||
other: rude or abusive
|
||||
desc:
|
||||
other:
|
||||
A reasonable person would find this content inappropriate for respectful
|
||||
discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: a duplicate
|
||||
@@ -341,10 +361,7 @@ backend:
|
||||
name:
|
||||
other: not an answer
|
||||
desc:
|
||||
other:
|
||||
This was posted as an answer, but it does not attempt to answer the
|
||||
question. It should possibly be an edit, a comment, another question,
|
||||
or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: no longer needed
|
||||
@@ -403,9 +420,7 @@ backend:
|
||||
name:
|
||||
other: needs details or clarity
|
||||
desc:
|
||||
other:
|
||||
This question currently includes multiple questions in one. It should
|
||||
focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: something else
|
||||
@@ -472,42 +487,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new email address"
|
||||
body:
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} answered your question"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} invited you to answer"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} commented on your post"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] New question: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Password reset"
|
||||
body:
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new account"
|
||||
body:
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test Email"
|
||||
body:
|
||||
other: "This is a test email."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: upvote
|
||||
@@ -564,7 +579,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -796,7 +811,8 @@ ui:
|
||||
how_to_format:
|
||||
title: How to Format
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">to make links</p><pre
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li>
|
||||
<li><p class="mb-2">to make links</p><pre
|
||||
class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p
|
||||
class="mb-2">put returns between paragraphs</p></li><li><p
|
||||
class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p
|
||||
@@ -816,7 +832,7 @@ ui:
|
||||
tag_wiki: tag wiki
|
||||
create_tag: Create Tag
|
||||
edit_tag: Edit Tag
|
||||
ask_a_question: Add Question
|
||||
ask_a_question: Create Question
|
||||
edit_question: Edit Question
|
||||
edit_answer: Edit Answer
|
||||
search: Search
|
||||
@@ -840,6 +856,19 @@ ui:
|
||||
http_50X: HTTP Error 500
|
||||
http_403: HTTP Error 403
|
||||
logout: Log Out
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
thinking: Thinking…
|
||||
thoughts: Thoughts
|
||||
notifications:
|
||||
title: Notifications
|
||||
inbox: Inbox
|
||||
@@ -921,7 +950,7 @@ ui:
|
||||
msg:
|
||||
empty: File cannot be empty.
|
||||
only_image: Only image files are allowed.
|
||||
max_size: File size cannot exceed 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Description
|
||||
tab_url: Image URL
|
||||
@@ -963,6 +992,10 @@ ui:
|
||||
text: Table
|
||||
heading: Heading
|
||||
cell: Cell
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: I am closing this post as...
|
||||
btn_cancel: Cancel
|
||||
@@ -1035,6 +1068,15 @@ ui:
|
||||
<p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Are you sure you wish to delete?
|
||||
close: Close
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Edit Tag
|
||||
default_reason: Edit tag
|
||||
@@ -1053,6 +1095,9 @@ ui:
|
||||
day: day
|
||||
hours: hours
|
||||
days: days
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1109,11 +1154,12 @@ ui:
|
||||
search_placeholder: Filter by tag name
|
||||
no_desc: The tag has no description.
|
||||
more: More
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Add Question
|
||||
title: Create Question
|
||||
edit_title: Edit Question
|
||||
default_reason: Edit question
|
||||
default_first_reason: Add question
|
||||
default_first_reason: Create question
|
||||
similar_questions: Similar questions
|
||||
form:
|
||||
fields:
|
||||
@@ -1121,7 +1167,7 @@ ui:
|
||||
label: Revision
|
||||
title:
|
||||
label: Title
|
||||
placeholder: Be specific and imagine you're asking a question to another person
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Title cannot be empty.
|
||||
range: Title up to 150 characters
|
||||
@@ -1129,6 +1175,9 @@ ui:
|
||||
label: Body
|
||||
msg:
|
||||
empty: Body cannot be empty.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Tags
|
||||
msg:
|
||||
@@ -1150,7 +1199,9 @@ ui:
|
||||
add_btn: Add tag
|
||||
create_btn: Create new tag
|
||||
search_tag: Search tag
|
||||
hint: "Describe what your question is about, at least one tag is required."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: No tags matched
|
||||
tag_required_text: Required tag (at least one)
|
||||
header:
|
||||
@@ -1169,9 +1220,7 @@ ui:
|
||||
search:
|
||||
placeholder: Search
|
||||
footer:
|
||||
build_on: >-
|
||||
Powered by <1> Apache Answer </1>- the open-source software that powers Q&A
|
||||
communities.<br />Made with love © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Change
|
||||
loading: loading...
|
||||
@@ -1205,8 +1254,8 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
msg:
|
||||
@@ -1282,13 +1331,13 @@ ui:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile image
|
||||
gravatar: Gravatar
|
||||
@@ -1364,8 +1413,12 @@ ui:
|
||||
review: Your revision will show after review.
|
||||
sent_success: Sent successfully
|
||||
related_question:
|
||||
title: Related Questions
|
||||
title: Related
|
||||
answers: answers
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: Invite People
|
||||
desc: Invite people you think can answer.
|
||||
@@ -1374,9 +1427,11 @@ ui:
|
||||
search: Search people
|
||||
question_detail:
|
||||
action: Action
|
||||
created: Created
|
||||
Asked: Asked
|
||||
asked: asked
|
||||
update: Modified
|
||||
Edited: Edited
|
||||
edit: edited
|
||||
commented: commented
|
||||
Views: Viewed
|
||||
@@ -1463,7 +1518,7 @@ ui:
|
||||
signup: Sign up
|
||||
logout: Log out
|
||||
verify: Verify
|
||||
add_question: Add question
|
||||
create: Create
|
||||
approve: Approve
|
||||
reject: Reject
|
||||
skip: Skip
|
||||
@@ -1495,8 +1550,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Search Results
|
||||
keywords: Keywords
|
||||
@@ -1504,6 +1567,7 @@ ui:
|
||||
follow: Follow
|
||||
following: Following
|
||||
counts: "{{count}} Results"
|
||||
counts_loading: "... Results"
|
||||
more: More
|
||||
sort_btns:
|
||||
relevance: Relevance
|
||||
@@ -1526,10 +1590,13 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post.
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Your new account is confirmed; you will be redirected to the home page.
|
||||
link: Continue to homepage
|
||||
@@ -1553,11 +1620,13 @@ ui:
|
||||
all_questions: All Questions
|
||||
x_questions: "{{ count }} Questions"
|
||||
x_answers: "{{ count }} answers"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Questions
|
||||
answers: Answers
|
||||
newest: Newest
|
||||
active: Active
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Score
|
||||
unanswered: Unanswered
|
||||
@@ -1592,6 +1661,7 @@ ui:
|
||||
top_questions: Top Questions
|
||||
stats: Stats
|
||||
list_empty: No posts found.<br />Perhaps you'd like to select a different tab?
|
||||
content_empty: No posts found.
|
||||
accepted: Accepted
|
||||
answered: answered
|
||||
asked: asked
|
||||
@@ -1632,6 +1702,23 @@ ui:
|
||||
label: Database file
|
||||
placeholder: /data/answer.db
|
||||
msg: Database file cannot be empty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Create config.yaml
|
||||
label: The config.yaml file created.
|
||||
@@ -1666,7 +1753,7 @@ ui:
|
||||
label: Name
|
||||
msg: Name cannot be empty.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Password
|
||||
text: >-
|
||||
@@ -1675,6 +1762,10 @@ ui:
|
||||
msg: Password cannot be empty.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: Email
|
||||
text: You will need this email to log in.
|
||||
@@ -1726,16 +1817,29 @@ ui:
|
||||
branding: Branding
|
||||
legal: Legal
|
||||
write: Write
|
||||
terms: Terms
|
||||
tos: Terms of Service
|
||||
privacy: Privacy
|
||||
seo: SEO
|
||||
customize: Customize
|
||||
themes: Themes
|
||||
css_html: CSS/HTML
|
||||
login: Login
|
||||
privileges: Privileges
|
||||
plugins: Plugins
|
||||
installed_plugins: Installed Plugins
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Welcome to {{site_name}}
|
||||
user_center:
|
||||
login: Login
|
||||
@@ -1762,6 +1866,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "Questions:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Answers:"
|
||||
comments: "Comments:"
|
||||
votes: "Votes:"
|
||||
@@ -1834,10 +1940,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1855,7 +1961,7 @@ ui:
|
||||
msg: "Please enter the user's email, one per line."
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1869,9 +1975,10 @@ ui:
|
||||
name: Name
|
||||
email: Email
|
||||
reputation: Reputation
|
||||
created_at: Created Time
|
||||
delete_at: Deleted Time
|
||||
suspend_at: Suspended Time
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Status
|
||||
role: Role
|
||||
action: Action
|
||||
@@ -1906,6 +2013,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspend this user
|
||||
content: A suspended user can't log in.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Questions
|
||||
unlisted: Unlisted
|
||||
@@ -1966,6 +2075,12 @@ ui:
|
||||
label: Timezone
|
||||
msg: Timezone cannot be empty.
|
||||
text: Choose a city in the same timezone as you.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -2031,12 +2146,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Privacy policy
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Write
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for the same question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2049,6 +2175,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2065,10 +2206,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Modify the colors used by your themes
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
custom_css:
|
||||
@@ -2096,6 +2241,10 @@ ui:
|
||||
title: Email registration
|
||||
label: Allow email registration
|
||||
text: Turn off to prevent anyone creating new account through email.
|
||||
email_verification:
|
||||
title: Email verification
|
||||
label: Require email verification
|
||||
text: When enabled, users must verify their email address before using the site.
|
||||
allowed_email_domains:
|
||||
title: Allowed email domains
|
||||
text: Email domains that users must register accounts with. One domain per line. Ignored when empty.
|
||||
@@ -2170,6 +2319,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (optional)
|
||||
empty: cannot be empty
|
||||
@@ -2177,7 +2390,6 @@ ui:
|
||||
btn_submit: Save
|
||||
not_found_props: "Required property {{ key }} not found."
|
||||
select: Select
|
||||
|
||||
page_review:
|
||||
review: Review
|
||||
proposed: proposed
|
||||
@@ -2250,6 +2462,7 @@ ui:
|
||||
discard_confirm: Are you sure you want to discard your draft?
|
||||
messages:
|
||||
post_deleted: This post has been deleted.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2258,3 +2471,21 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
+452
-225
File diff suppressed because it is too large
Load Diff
+274
-47
@@ -57,6 +57,8 @@ backend:
|
||||
other: ویرایش
|
||||
undelete:
|
||||
other: بازگردانی حذف
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: رمز
|
||||
pass:
|
||||
other: رمز
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: پست جاری
|
||||
email_or_password_wrong_error:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: اجازه بروزرسانی ندارید.
|
||||
question_closed_cannot_add:
|
||||
other: سوالات بسته شده اند و نمیتوان سوالی اضافه کرد.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: نظرات قابل ویرایش نیستند.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: نظر پیدا نشد.
|
||||
cannot_edit_after_deadline:
|
||||
other: زمان زیادی برای ویرایش نظر گذشته است.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: ایمیل تکراری.
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: اجاره بستن ندارید.
|
||||
cannot_update:
|
||||
other: اجازه بروزرسانی ندارید.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: شهرت ناکافی.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: نمی توانید تگی که در حال استفاده است را حذف کنید.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: شما نمی توانید مترادفی برای برچسب فعلی به عوان خودش تنظیم کنین.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: '"از طرفه" نمی تواند آدرس ایمیل باشد.'
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "مشکل پیش آمده در فرمت {{.Field}} در کنار {{.Content}} در خط {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "تعداد کاربرانی که اضافه می کنید باید رنج بین ۱-{{.MaxAmount}} باشند."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: خواندن کافیگ با مشکل مواجه شد
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: بی ادب یا توهین آمیز
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: تکراری
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: این یک پاسخ نیست
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: دیگر نیازی نیست
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: نیاز به جزئیات یا واضح کردن دارد
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: یک مورد دیگر
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "آدرس ایمیل جدید خود را تایید کنید{{.SiteName}}"
|
||||
body:
|
||||
other: "آدرس ایمیل جدید خود را برای {{.SiteName}} با کلیک بر روی پیوند زیر تأیید کنید:\n<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nاگر این تغییر را درخواست نکردهاید، لطفاً این ایمیل را نادیده بگیرید.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} به سؤال شما پاسخ داد"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>مشاهده آن در {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>لغو اشتراک</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} شما را به پاسخ دعوت کرد"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>من فکر می کنم شما ممکن است پاسخ را بدانید.</blockquote><br>\n<a href='{{.InviteUrl}}'>مشاهده آن در {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>لغو اشتراک</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} روی پست شما نظر داد"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>مشاهده آن در {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>لغو اشتراک</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] سؤال جدید: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>لغو اشتراک</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] گذرواژه بازنشانی شد"
|
||||
body:
|
||||
other: "شخصی بازنشانی رمز عبور شما در {{.SiteName}} میباشد.<br><br>\n\nاگر این شخص شما نبوده اید، میتوانید با خیال راحت این ایمیل را نادیده بگیرید.<br><br>\n\nبرای انتخاب رمز عبور جدید روی پیوند زیر کلیک کنید:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] حساب کاربری جدید خود را تأیید کنید"
|
||||
body:
|
||||
other: "به {{.SiteName}} خوش آمدید!<br><br>\n\nبرای تأیید و فعال سازی حساب کاربری جدید خود روی پیوند زیر کلیک کنید:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nاگر پیوند بالا قابل بازشدن نیست، آن را کپی کرده و در نوار آدرس مرورگر وب خود قرار دهید.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] ایمیل آزمایشی"
|
||||
body:
|
||||
other: "این یک ایمیل تست است."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: رأی مثبت
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: نحوه فرمت کردن
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">برای ایجاد پیوند</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">بین پاراگراف ها اینتر قرار بدهید</p></li><li><p class="mb-2"><em>_italic_</em> یا **<strong>پررنگ</strong>**</p></ li><li><p class="mb-2">کد تورفتگی با 4 فاصله</p></li><li><p class="mb-2">نقل قول با قرار دادن <code>>< /code> در ابتدای خط</p></li><li><p class="mb-2">بکتیک فرار می کند <code>`مانند _this_`</code></p></li>< li><p class="mb-2">حصارهای کد با بکتیک ایجاد کنید <code>`</code></p><pre class="mb-0"><code>```<br/>کد اینجا<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: قبلی
|
||||
next: بعدی
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: ویکی تگ
|
||||
create_tag: ایجاد برچسب
|
||||
edit_tag: ویرایش برچسب
|
||||
ask_a_question: اضافه کردن سوال
|
||||
ask_a_question: Create Question
|
||||
edit_question: ویرایش سوال
|
||||
edit_answer: ویرایش پاسخ
|
||||
search: جستجو
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: خطای 500 HTTP
|
||||
http_403: خطای 403 HTTP
|
||||
logout: خروج
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: اعلانات
|
||||
inbox: پیغامهای دریافتی
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: فایل نمی تواند خالی باشد.
|
||||
only_image: فقط فایل های تصویری مجاز هستند.
|
||||
max_size: حجم فایل نباید بیشتر از 4 مگابایت باشد.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: توضیحات
|
||||
tab_url: لینک عکس
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: جدول
|
||||
heading: سرفصل
|
||||
cell: تلفن همراه
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: این پست را می بندم بدلیل...
|
||||
btn_cancel: لغو
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: مطمئنید که میخواهید حذف شود?
|
||||
close: بستن
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: ویرایش تگ
|
||||
default_reason: ویرایش تگ
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: روز
|
||||
hours: ساعات
|
||||
days: روزها
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: فیلتر بر اساس اسم برچسب
|
||||
no_desc: برچسب هیچ توضیحی ندارد.
|
||||
more: بیشتر
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: سوالی اضافه کنید
|
||||
title: Create Question
|
||||
edit_title: سوال را ویرایش کنید
|
||||
default_reason: سوال را ویرایش کنید
|
||||
default_first_reason: سوال اضافه کنید
|
||||
default_first_reason: Create question
|
||||
similar_questions: سؤال های مشابه
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: تجدید نظر
|
||||
title:
|
||||
label: عنوان
|
||||
placeholder: به طور خاص فرض کنید که شما یک سؤال از یک شخص دیگری می پرسید
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: عنوان نمی تواند خالی باشد.
|
||||
range: عنوان میتواند تا ۳۰ حرف باشد
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: بدنه
|
||||
msg:
|
||||
empty: بدنه نمی تواند خالی باشد.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: برچسب ها
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: اضافه کردن برچسب
|
||||
create_btn: ایجاد یک برچسب جدید
|
||||
search_tag: جستوجوی برچسب
|
||||
hint: "درمورد سوال خود توضیحی دهید، حداقل یک برچسب نیاز است."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: هیچ تگی مطابقت ندارد
|
||||
tag_required_text: تگ نیاز هست (حداقل یک مورد)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: جستجو
|
||||
footer:
|
||||
build_on: >-
|
||||
پشتیبانی شده توسط <1> Apache Answer </1> - نرمافزار منبع باز که باهمستان های پرسش و پاسخ را تقویت می کند.<br />ساخته شده با عشق © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: تغییر
|
||||
loading: درحال بارگذاری...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: نام
|
||||
msg:
|
||||
empty: نام نمیتواند خالی باشد.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: ایمیل
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: نام
|
||||
msg: نام نمی تواند خالی باشد.
|
||||
msg_range: نام میتواند تا ۳۰ حرف باشد.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: نامکاربری
|
||||
caption: دیگران میتوانند به شما به بصورت "@username" اشاره کنند.
|
||||
msg: نام کاربری نمی تواند خالی باشد.
|
||||
msg_range: نام کاربری میتواند تا ۳۰ حرف باشد.
|
||||
character: 'باید از حروف "a-z", "0-9", " - . _" استفاده شود'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: عکس پروفایل
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: بازبینی شما پس از بررسی نشان داده خواهد شد.
|
||||
sent_success: با موفقيت ارسال شد
|
||||
related_question:
|
||||
title: سوالات مرتبط
|
||||
title: Related
|
||||
answers: جواب ها
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: مردم پرسیدند
|
||||
desc: افرادی را دعوت کنید که فکر می کنید ممکن است پاسخ را بدانند.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: جستجوی افراد
|
||||
question_detail:
|
||||
action: عملیات
|
||||
created: Created
|
||||
Asked: پرسیده شده
|
||||
asked: پرسیده شده
|
||||
update: تغییر یافته
|
||||
Edited: Edited
|
||||
edit: ویرایش شده
|
||||
commented: commented
|
||||
Views: مشاهده شده
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: عضويت
|
||||
logout: خروج
|
||||
verify: تایید
|
||||
add_question: اضافه کردن سوال
|
||||
create: Create
|
||||
approve: تایید
|
||||
reject: رد کردن
|
||||
skip: بعدی
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: نتایج جستجو
|
||||
keywords: کلیدواژه ها
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: دنبال کردن
|
||||
following: دنبال میکنید
|
||||
counts: "{{count}} نتیجه"
|
||||
counts_loading: "... Results"
|
||||
more: بیشتر
|
||||
sort_btns:
|
||||
relevance: مرتبط
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: اشتراک گذاری پست با...
|
||||
copied: کپی انجام شد
|
||||
facebook: اشتراک گذاری در فیس بوک
|
||||
twitter: اشتراک گذاری در Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: شما نمی توانید به پست خودتان رای دهید.
|
||||
modal_confirm:
|
||||
title: خطا...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: اکانت جدید شما تایید شده است، به صفحه خانه منتقل خواهید شد.
|
||||
link: ادامه بدهید تا به صفحه خانه برسید
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: تمام سوالات
|
||||
x_questions: "{{ count }} سوال"
|
||||
x_answers: "{{ count }} جواب"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: سوالات
|
||||
answers: پاسخ ها
|
||||
newest: جدیدترین
|
||||
active: فعال
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: امتیاز
|
||||
unanswered: بدون پاسخ
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: سوالات برتر
|
||||
stats: آمار
|
||||
list_empty: No posts found.<br />Perhaps you'd like to select a different tab?
|
||||
content_empty: No posts found.
|
||||
accepted: پذیرفته شده
|
||||
answered: جواب داده
|
||||
asked: پرسیده شده
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: فایل پایگاه داده
|
||||
placeholder: /data/answer.db
|
||||
msg: فایل پایگاه داده نمیتواند خالی باشد.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Config.yaml را بسازید
|
||||
label: فایل config.yaml ساخته شد.
|
||||
@@ -1631,8 +1716,8 @@ ui:
|
||||
admin_name:
|
||||
label: نام
|
||||
msg: نام نمیتواند خالی باشد.
|
||||
character: 'باید از حروف "a-z", "0-9", " - . _" استفاده شود'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: رمز عبور
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: رمز عبور نمی تواند خالی باشد.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: ایمیل
|
||||
text: شما به این ایمیل برای ورود نیاز خواهید داشت.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: نام تجاری
|
||||
legal: قانونی
|
||||
write: نوشتن
|
||||
terms: Terms
|
||||
tos: قوانین
|
||||
privacy: حریم خصوصی
|
||||
seo: سئو
|
||||
customize: شخصیسازی
|
||||
themes: پوسته ها
|
||||
css_html: CSS/HTML
|
||||
login: ورود
|
||||
privileges: مجوزها
|
||||
plugins: افزونهها
|
||||
installed_plugins: پلاگین های نصب شده
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: به {{site_name}} خوش آمدید
|
||||
user_center:
|
||||
login: ورود
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "سوالات:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "جواب ها:"
|
||||
comments: "نظرات:"
|
||||
votes: "آرا:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "لطفا ایمیل کاربر را در هر خط یکی وارد کنید."
|
||||
display_name:
|
||||
label: نمایش نام
|
||||
msg: نام نمایشی باید 4 تا 30 کاراکتر باشد.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: ایمیل
|
||||
msg: ایمیل معتبر نمیباشد
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: نام
|
||||
email: ایمیل
|
||||
reputation: محبوبیت
|
||||
created_at: زمان ایجاد
|
||||
delete_at: زمان حذف
|
||||
suspend_at: زمان معلق
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: وضعیت
|
||||
role: نقش
|
||||
action: عمل
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: تعلیق این کاربر
|
||||
content: کاربر تعلیق شده نمیتواند وارد شود.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: سوالات
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: منطقه زمانی
|
||||
msg: منطقه زمانی نمی تواند خالی باشد.
|
||||
text: شهری را در همان منطقه زمانی خود انتخاب کنید.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: حریم خصوصی
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: نوشتن
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for each question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: بهینهسازی عملیات موتورهای جستجو
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Modify the colors used by your themes
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (optional)
|
||||
empty: cannot be empty
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Are you sure you want to discard your draft?
|
||||
messages:
|
||||
post_deleted: This post has been deleted.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+516
-289
File diff suppressed because it is too large
Load Diff
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+273
-46
@@ -57,6 +57,8 @@ backend:
|
||||
other: Edit
|
||||
undelete:
|
||||
other: Undelete
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: Password
|
||||
pass:
|
||||
other: Password
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: This post
|
||||
email_or_password_wrong_error:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: No permission to update.
|
||||
question_closed_cannot_add:
|
||||
other: Questions are closed and cannot be added.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Comment are not allowed to edit.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: Comment not found.
|
||||
cannot_edit_after_deadline:
|
||||
other: The comment time has been too long to modify.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: Email already exists.
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: No permission to close.
|
||||
cannot_update:
|
||||
other: No permission to update.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Reputation rank fail to meet the condition.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: You cannot delete a tag that is in use.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: You cannot set the synonym of the current tag as itself.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: The from name cannot be a email address.
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "Error {{.Field}} format near '{{.Content}}' at line {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "The number of users you add at once should be in the range of 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Read config failed
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: rude or abusive
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: a duplicate
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: not an answer
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: no longer needed
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: needs details or clarity
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: something else
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new email address"
|
||||
body:
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} answered your question"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} invited you to answer"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} commented on your post"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] New question: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Password reset"
|
||||
body:
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new account"
|
||||
body:
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test Email"
|
||||
body:
|
||||
other: "This is a test email."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: upvote
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: How to Format
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: Prev
|
||||
next: Next
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: tag wiki
|
||||
create_tag: Create Tag
|
||||
edit_tag: Edit Tag
|
||||
ask_a_question: Add Question
|
||||
ask_a_question: Create Question
|
||||
edit_question: Edit Question
|
||||
edit_answer: Edit Answer
|
||||
search: Search
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: HTTP Error 500
|
||||
http_403: HTTP Error 403
|
||||
logout: Log Out
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: Notifications
|
||||
inbox: Inbox
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: File cannot be empty.
|
||||
only_image: Only image files are allowed.
|
||||
max_size: File size cannot exceed 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Description
|
||||
tab_url: Image URL
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Table
|
||||
heading: Heading
|
||||
cell: Cell
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: I am closing this post as...
|
||||
btn_cancel: Cancel
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Are you sure you wish to delete?
|
||||
close: Close
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Edit Tag
|
||||
default_reason: Edit tag
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: day
|
||||
hours: hours
|
||||
days: days
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Filter by tag name
|
||||
no_desc: The tag has no description.
|
||||
more: More
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Add Question
|
||||
title: Create Question
|
||||
edit_title: Edit Question
|
||||
default_reason: Edit question
|
||||
default_first_reason: Add question
|
||||
default_first_reason: Create question
|
||||
similar_questions: Similar questions
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Revision
|
||||
title:
|
||||
label: Title
|
||||
placeholder: Be specific and imagine you're asking a question to another person
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Title cannot be empty.
|
||||
range: Title up to 150 characters
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Body
|
||||
msg:
|
||||
empty: Body cannot be empty.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Tags
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Add tag
|
||||
create_btn: Create new tag
|
||||
search_tag: Search tag
|
||||
hint: "Describe what your question is about, at least one tag is required."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: No tags matched
|
||||
tag_required_text: Required tag (at least one)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Search
|
||||
footer:
|
||||
build_on: >-
|
||||
Powered by <1> Apache Answer </1>- the open-source software that powers Q&A communities.<br />Made with love © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Change
|
||||
loading: loading...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile image
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Your revision will show after review.
|
||||
sent_success: Sent successfully
|
||||
related_question:
|
||||
title: Related Questions
|
||||
title: Related
|
||||
answers: answers
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: People Asked
|
||||
desc: Select people who you think might know the answer.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Search people
|
||||
question_detail:
|
||||
action: Action
|
||||
created: Created
|
||||
Asked: Asked
|
||||
asked: asked
|
||||
update: Modified
|
||||
Edited: Edited
|
||||
edit: edited
|
||||
commented: commented
|
||||
Views: Viewed
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Sign up
|
||||
logout: Log out
|
||||
verify: Verify
|
||||
add_question: Add question
|
||||
create: Create
|
||||
approve: Approve
|
||||
reject: Reject
|
||||
skip: Skip
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Search Results
|
||||
keywords: Keywords
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Follow
|
||||
following: Following
|
||||
counts: "{{count}} Results"
|
||||
counts_loading: "... Results"
|
||||
more: More
|
||||
sort_btns:
|
||||
relevance: Relevance
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post.
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Your new account is confirmed; you will be redirected to the home page.
|
||||
link: Continue to homepage
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: All Questions
|
||||
x_questions: "{{ count }} Questions"
|
||||
x_answers: "{{ count }} answers"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Questions
|
||||
answers: Answers
|
||||
newest: Newest
|
||||
active: Active
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Score
|
||||
unanswered: Unanswered
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Top Questions
|
||||
stats: Stats
|
||||
list_empty: No posts found.<br />Perhaps you'd like to select a different tab?
|
||||
content_empty: No posts found.
|
||||
accepted: Accepted
|
||||
answered: answered
|
||||
asked: asked
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Database file
|
||||
placeholder: /data/answer.db
|
||||
msg: Database file cannot be empty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Create config.yaml
|
||||
label: The config.yaml file created.
|
||||
@@ -1632,7 +1717,7 @@ ui:
|
||||
label: Name
|
||||
msg: Name cannot be empty.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Password
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Password cannot be empty.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: Email
|
||||
text: You will need this email to log in.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Branding
|
||||
legal: Legal
|
||||
write: Write
|
||||
terms: Terms
|
||||
tos: Terms of Service
|
||||
privacy: Privacy
|
||||
seo: SEO
|
||||
customize: Customize
|
||||
themes: Themes
|
||||
css_html: CSS/HTML
|
||||
login: Login
|
||||
privileges: Privileges
|
||||
plugins: Plugins
|
||||
installed_plugins: Installed Plugins
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Welcome to {{site_name}}
|
||||
user_center:
|
||||
login: Login
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "Questions:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Answers:"
|
||||
comments: "Comments:"
|
||||
votes: "Votes:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Please enter the user's email, one per line."
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Name
|
||||
email: Email
|
||||
reputation: Reputation
|
||||
created_at: Created Time
|
||||
delete_at: Deleted Time
|
||||
suspend_at: Suspended Time
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Status
|
||||
role: Role
|
||||
action: Action
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspend this user
|
||||
content: A suspended user can't log in.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Questions
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Timezone
|
||||
msg: Timezone cannot be empty.
|
||||
text: Choose a city in the same timezone as you.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Privacy policy
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Write
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for each question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Modify the colors used by your themes
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (optional)
|
||||
empty: cannot be empty
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Are you sure you want to discard your draft?
|
||||
messages:
|
||||
post_deleted: This post has been deleted.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+13
-13
@@ -22,43 +22,43 @@ language_options:
|
||||
progress: 100
|
||||
- label: "Español"
|
||||
value: "es_ES"
|
||||
progress: 64
|
||||
progress: 96
|
||||
- label: "Português(BR)"
|
||||
value: "pt_BR"
|
||||
progress: 12
|
||||
progress: 96
|
||||
- label: "Português"
|
||||
value: "pt_PT"
|
||||
progress: 12
|
||||
progress: 96
|
||||
- label: "Deutsch"
|
||||
value: "de_DE"
|
||||
progress: 69
|
||||
progress: 96
|
||||
- label: "Français"
|
||||
value: "fr_FR"
|
||||
progress: 70
|
||||
progress: 96
|
||||
- label: "日本語"
|
||||
value: "ja_JP"
|
||||
progress: 12
|
||||
progress: 96
|
||||
- label: "Italiano"
|
||||
value: "it_IT"
|
||||
progress: 9
|
||||
progress: 96
|
||||
- label: "Русский"
|
||||
value: "ru_RU"
|
||||
progress: 20
|
||||
progress: 100
|
||||
- label: "简体中文"
|
||||
value: "zh_CN"
|
||||
progress: 100
|
||||
- label: "繁體中文"
|
||||
value: "zh_TW"
|
||||
progress: 64
|
||||
progress: 47
|
||||
- label: "한국어"
|
||||
value: "ko_KR"
|
||||
progress: 0
|
||||
progress: 73
|
||||
- label: "Tiếng Việt"
|
||||
value: "vi_VN"
|
||||
progress: 0
|
||||
progress: 96
|
||||
- label: "Slovak"
|
||||
value: "sk_SK"
|
||||
progress: 62
|
||||
progress: 45
|
||||
- label: "فارسی"
|
||||
value: "fa_IR"
|
||||
progress: 85
|
||||
progress: 69
|
||||
|
||||
+300
-73
@@ -36,13 +36,13 @@ backend:
|
||||
report:
|
||||
other: Flag
|
||||
edit:
|
||||
other: Edit
|
||||
other: Ubah
|
||||
delete:
|
||||
other: Delete
|
||||
other: Hapus
|
||||
close:
|
||||
other: Close
|
||||
other: Tutup
|
||||
reopen:
|
||||
other: Reopen
|
||||
other: Buka kembali
|
||||
forbidden_error:
|
||||
other: Forbidden.
|
||||
pin:
|
||||
@@ -52,26 +52,28 @@ backend:
|
||||
unpin:
|
||||
other: Unpin
|
||||
show:
|
||||
other: List
|
||||
other: Daftar
|
||||
invite_someone_to_answer:
|
||||
other: Edit
|
||||
other: Undang seseorang untuk menjawab
|
||||
undelete:
|
||||
other: Undelete
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
other: Pengguna
|
||||
admin:
|
||||
other: Admin
|
||||
other: Administrator
|
||||
moderator:
|
||||
other: Moderator
|
||||
description:
|
||||
user:
|
||||
other: Default tanpa akses khusus.
|
||||
admin:
|
||||
other: Memiliki hak penuh untuk mengakses website.
|
||||
other: Memiliki kontrol penuh atas situs.
|
||||
moderator:
|
||||
other: Memiliki hak penuh pada semua pertanyaan, kecuali pengaturan Admin.
|
||||
other: Memiliki kendali atas semua kiriman kecuali pengaturan administrator.
|
||||
privilege:
|
||||
level_1:
|
||||
description:
|
||||
@@ -86,17 +88,17 @@ backend:
|
||||
description:
|
||||
other: Custom Level
|
||||
rank_question_add_label:
|
||||
other: Ask question
|
||||
other: Tanyakan sesuatu
|
||||
rank_answer_add_label:
|
||||
other: Write answer
|
||||
other: Tulis jawaban
|
||||
rank_comment_add_label:
|
||||
other: Write comment
|
||||
other: Tulis komentar
|
||||
rank_report_add_label:
|
||||
other: Flag
|
||||
rank_comment_vote_up_label:
|
||||
other: Upvote comment
|
||||
rank_link_url_limit_label:
|
||||
other: Post more than 2 links at a time
|
||||
other: Kirim lebih dari 2 tautan secara bersamaan
|
||||
rank_question_vote_up_label:
|
||||
other: Upvote question
|
||||
rank_answer_vote_up_label:
|
||||
@@ -106,9 +108,9 @@ backend:
|
||||
rank_answer_vote_down_label:
|
||||
other: Downvote answer
|
||||
rank_invite_someone_to_answer_label:
|
||||
other: Invite someone to answer
|
||||
other: Undang seseorang untuk menjawab
|
||||
rank_tag_add_label:
|
||||
other: Create new tag
|
||||
other: Buat tag baru
|
||||
rank_tag_edit_label:
|
||||
other: Edit tag description (need to review)
|
||||
rank_question_edit_label:
|
||||
@@ -134,22 +136,24 @@ backend:
|
||||
e_mail:
|
||||
other: Email
|
||||
password:
|
||||
other: Password
|
||||
other: Kata sandi
|
||||
pass:
|
||||
other: Password
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: This post
|
||||
email_or_password_wrong_error:
|
||||
other: Email dan kata sandi tidak cocok.
|
||||
other: '"Email" dan kata sandi tidak cocok.'
|
||||
error:
|
||||
common:
|
||||
invalid_url:
|
||||
other: Invalid URL.
|
||||
other: URL salah.
|
||||
status_invalid:
|
||||
other: Invalid status.
|
||||
password:
|
||||
space_invalid:
|
||||
other: Password cannot contain spaces.
|
||||
other: Password tidak boleh mengandung spasi.
|
||||
admin:
|
||||
cannot_update_their_password:
|
||||
other: You cannot modify your password.
|
||||
@@ -165,16 +169,20 @@ backend:
|
||||
cannot_deleted:
|
||||
other: Tidak memiliki izin untuk menghapus.
|
||||
cannot_update:
|
||||
other: Tidak memiliki izin untuk memperbaharui.
|
||||
other: Tidak memiliki izin untuk memperbarui.
|
||||
question_closed_cannot_add:
|
||||
other: Questions are closed and cannot be added.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Komentar tidak boleh diedit.
|
||||
other: Tidak diizinkan untuk mengubah komentar.
|
||||
not_found:
|
||||
other: Komentar tidak ditemukan.
|
||||
cannot_edit_after_deadline:
|
||||
other: The comment time has been too long to modify.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: Email telah terdaftar.
|
||||
@@ -193,7 +201,7 @@ backend:
|
||||
disallow_follow:
|
||||
other: Anda tidak diizinkan untuk mengikuti.
|
||||
disallow_vote:
|
||||
other: Anda tidak diizinkan untuk melakukan voring.
|
||||
other: Anda tisak diizinkan untuk melakukan vote.
|
||||
disallow_vote_your_self:
|
||||
other: Anda tidak dapat melakukan voting untuk ulasan Anda sendiri.
|
||||
not_found:
|
||||
@@ -205,7 +213,7 @@ backend:
|
||||
old_password_verification_failed:
|
||||
other: Verifikasi password lama, gagal
|
||||
new_password_same_as_previous_setting:
|
||||
other: Password baru sama dengan password yang sebelumnya.
|
||||
other: Kata sandi baru sama dengan kata sandi yang sebelumnya.
|
||||
already_deleted:
|
||||
other: This post has been deleted.
|
||||
meta:
|
||||
@@ -221,9 +229,13 @@ backend:
|
||||
cannot_deleted:
|
||||
other: Tidak memiliki izin untuk menghapus.
|
||||
cannot_close:
|
||||
other: Tidak memiliki izin untuk menutup.
|
||||
other: Tidak diizinkan untuk menutup.
|
||||
cannot_update:
|
||||
other: Tidak memiliki izin untuk memperbaharui.
|
||||
other: Tidak diizinkan untuk memperbarui.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Reputation rank fail to meet the condition.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: You cannot delete a tag that is in use.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: Anda tidak bisa menetapkan sinonim dari tag saat ini dengan tag yang sama.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: The from name cannot be a email address.
|
||||
@@ -277,13 +291,13 @@ backend:
|
||||
suspended:
|
||||
other: Pengguna ini telah ditangguhkan.
|
||||
username_invalid:
|
||||
other: Nama pengguna tidak valid.
|
||||
other: Nama pengguna tidak sesuai.
|
||||
username_duplicate:
|
||||
other: Nama pengguna sudah digunakan.
|
||||
set_avatar:
|
||||
other: Set avatar gagal.
|
||||
cannot_update_your_role:
|
||||
other: Anda tidak dapat memodifikasi role anda sendiri.
|
||||
other: Anda tidak dapat mengubah peran anda sendiri.
|
||||
not_allowed_registration:
|
||||
other: Currently the site is not open for registration.
|
||||
not_allowed_login_via_password:
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "Error {{.Field}} format near '{{.Content}}' at line {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "The number of users you add at once should be in the range of 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Gagal membaca konfigurasi
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: rude or abusive
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: a duplicate
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: not an answer
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: no longer needed
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: membutuhkan detail atau kejelasan
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: lainnya
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new email address"
|
||||
body:
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} answered your question"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} invited you to answer"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} commented on your post"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] New question: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Password reset"
|
||||
body:
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new account"
|
||||
body:
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test Email"
|
||||
body:
|
||||
other: "This is a test email."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: upvote
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: Cara memformat
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: Sebelumnya
|
||||
next: Selanjutnya
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: tag wiki
|
||||
create_tag: Create Tag
|
||||
edit_tag: Ubah Tag
|
||||
ask_a_question: Tambahkan Pertanyaan
|
||||
ask_a_question: Create Question
|
||||
edit_question: Sunting Pertanyaan
|
||||
edit_answer: Sunting jawaban
|
||||
search: Cari
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: HTTP Error 500
|
||||
http_403: HTTP Error 403
|
||||
logout: Log Out
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: Pemberitahuan
|
||||
inbox: Kotak Masuk
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: File tidak boleh kosong.
|
||||
only_image: Hanya file Gambar yang diperbolehkan.
|
||||
max_size: Ukuran file tidak boleh melebihi 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Description
|
||||
tab_url: URL gambar
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Table
|
||||
heading: Heading
|
||||
cell: Cell
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: Postingan ini saya tutup sebagai...
|
||||
btn_cancel: Batal
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Are you sure you wish to delete?
|
||||
close: Tutup
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Ubah Tag
|
||||
default_reason: Sunting tag
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: hari
|
||||
hours: hours
|
||||
days: days
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Filter by tag name
|
||||
no_desc: The tag has no description.
|
||||
more: More
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Add Question
|
||||
title: Create Question
|
||||
edit_title: Edit Question
|
||||
default_reason: Edit question
|
||||
default_first_reason: Add question
|
||||
default_first_reason: Create question
|
||||
similar_questions: Similar questions
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Revision
|
||||
title:
|
||||
label: Title
|
||||
placeholder: Be specific and imagine you're asking a question to another person
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Title cannot be empty.
|
||||
range: Title up to 150 characters
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Body
|
||||
msg:
|
||||
empty: Body cannot be empty.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Tags
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Add tag
|
||||
create_btn: Create new tag
|
||||
search_tag: Search tag
|
||||
hint: "Describe what your question is about, at least one tag is required."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: No tags matched
|
||||
tag_required_text: Required tag (at least one)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Cari
|
||||
footer:
|
||||
build_on: >-
|
||||
Powered by <1> Apache Answer </1>- the open-source software that powers Q&A communities.<br />Made with love © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Ubah
|
||||
loading: sedang memuat...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Nama
|
||||
msg:
|
||||
empty: Nama tidak boleh kosong.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile image
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Revisi Anda akan ditampilkan setelah ditinjau.
|
||||
sent_success: Sent successfully
|
||||
related_question:
|
||||
title: Pertanyaan Terkait
|
||||
title: Related
|
||||
answers: jawaban
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: People Asked
|
||||
desc: Select people who you think might know the answer.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Search people
|
||||
question_detail:
|
||||
action: Action
|
||||
created: Created
|
||||
Asked: Ditanyakan
|
||||
asked: ditanyakan
|
||||
update: Diubah
|
||||
Edited: Edited
|
||||
edit: disunting
|
||||
commented: commented
|
||||
Views: Dilihat
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Daftar
|
||||
logout: Keluar
|
||||
verify: Verifikasi
|
||||
add_question: Tambahkan pertanyaan
|
||||
create: Create
|
||||
approve: Approve
|
||||
reject: Reject
|
||||
skip: Skip
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Search Results
|
||||
keywords: Keywords
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Follow
|
||||
following: Following
|
||||
counts: "{{count}} Results"
|
||||
counts_loading: "... Results"
|
||||
more: More
|
||||
sort_btns:
|
||||
relevance: Relevance
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post.
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Your new account is confirmed; you will be redirected to the home page.
|
||||
link: Continue to homepage
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: All Questions
|
||||
x_questions: "{{ count }} Questions"
|
||||
x_answers: "{{ count }} answers"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Questions
|
||||
answers: Jawaban
|
||||
newest: Terbaru
|
||||
active: Aktif
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Nilai
|
||||
unanswered: Belum dijawab
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Pertanyaan terpopuler
|
||||
stats: Statistik
|
||||
list_empty: Postingan tidak ditemukan.<br />Mungkin Anda ingin memilih tab lain?
|
||||
content_empty: No posts found.
|
||||
accepted: Diterima
|
||||
answered: dijawab
|
||||
asked: ditanyakan
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Database file
|
||||
placeholder: /data/answer.db
|
||||
msg: Database file cannot be empty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Create config.yaml
|
||||
label: The config.yaml file created.
|
||||
@@ -1632,7 +1717,7 @@ ui:
|
||||
label: Name
|
||||
msg: Name cannot be empty.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Password
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Password cannot be empty.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: Email
|
||||
text: You will need this email to log in.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Branding
|
||||
legal: Legal
|
||||
write: Write
|
||||
terms: Terms
|
||||
tos: Terms of Service
|
||||
privacy: Privasi
|
||||
seo: SEO
|
||||
customize: Kostumisasi
|
||||
themes: Tema
|
||||
css_html: CSS/HTML
|
||||
login: Masuk
|
||||
privileges: Privileges
|
||||
plugins: Plugins
|
||||
installed_plugins: Installed Plugins
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Welcome to {{site_name}}
|
||||
user_center:
|
||||
login: Login
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "Pertanyaan:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Jawaban:"
|
||||
comments: "Komentar:"
|
||||
votes: "Vote:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Please enter the user's email, one per line."
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Name
|
||||
email: Email
|
||||
reputation: Reputation
|
||||
created_at: Waktu Pembuatan
|
||||
delete_at: Waktu Penghapusan
|
||||
suspend_at: Waktu penundaan
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Status
|
||||
role: Role
|
||||
action: Action
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspend this user
|
||||
content: A suspended user can't log in.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Pertanyaan
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Timezone
|
||||
msg: Timezone cannot be empty.
|
||||
text: Choose a city in the same timezone as you.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Privacy policy
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Write
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for each question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Modify the colors used by your themes
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (optional)
|
||||
empty: cannot be empty
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Are you sure you want to discard your draft?
|
||||
messages:
|
||||
post_deleted: This post has been deleted.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+436
-209
File diff suppressed because it is too large
Load Diff
+1316
-1088
File diff suppressed because it is too large
Load Diff
+438
-211
File diff suppressed because it is too large
Load Diff
+2450
File diff suppressed because it is too large
Load Diff
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1137,7 +1137,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1383,5 +1383,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+301
-74
@@ -57,6 +57,8 @@ backend:
|
||||
other: Edytuj
|
||||
undelete:
|
||||
other: Przywróć
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: Hasło
|
||||
pass:
|
||||
other: Hasło
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: Ten wpis
|
||||
email_or_password_wrong_error:
|
||||
@@ -146,7 +150,7 @@ backend:
|
||||
invalid_url:
|
||||
other: Nieprawidłowy URL.
|
||||
status_invalid:
|
||||
other: Invalid status.
|
||||
other: Nieprawidłowy status.
|
||||
password:
|
||||
space_invalid:
|
||||
other: Hasło nie może zawierać spacji.
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: Brak uprawnień do aktualizacji.
|
||||
question_closed_cannot_add:
|
||||
other: Pytania są zamknięte i nie można ich dodawać.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Komentarz nie może edytować.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: Komentarz nie został odnaleziony.
|
||||
cannot_edit_after_deadline:
|
||||
other: Czas komentowania był zbyt długi, aby go zmodyfikować.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: E-mail już istnieje.
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: Brak uprawnień do zamknięcia.
|
||||
cannot_update:
|
||||
other: Brak uprawnień do edycji.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Ranga nie spełnia warunku.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: Nie możesz usunąć tagu, który jest w użyciu.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: Nie można ustawić synonimu aktualnego tagu jako takiego.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: Nazwą nadawcy nie może być adresem e-mail.
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "Błąd {{.Field}} w pobliżu '{{.Content}}' w linii {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "Liczba użytkowników, których dodasz na raz, powinna mieścić się w przedziale 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Nie udało się odczytać pliku konfiguracyjnego.
|
||||
@@ -315,7 +337,7 @@ backend:
|
||||
other: Nie znaleziono konfiguracji strony.
|
||||
badge:
|
||||
object_not_found:
|
||||
other: Badge object not found
|
||||
other: Nie znaleziono obiektu odznaki
|
||||
reason:
|
||||
spam:
|
||||
name:
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: niegrzeczny lub obraźliwy
|
||||
desc:
|
||||
other:
|
||||
- Rozsądna osoba uznałaby tę treść za nieodpowiednią do dyskusji opartej na szacunku
|
||||
- dyskomfort.
|
||||
other: "Rozsądna osoba uznałaby tę treść za nieodpowiednią do dyskusji opartej na szacunku."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: duplikat
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: nie jest odpowiedzią
|
||||
desc:
|
||||
other:
|
||||
- To zostało opublikowane jako odpowiedź, ale nie próbuje odpowiedzieć na
|
||||
- pytanie. Powinna być prawdopodobnie edytowana, opatrzona komentarzem, kolejnym pytaniem,
|
||||
- lub całkowicie usunięta.
|
||||
other: "Ta wiadomość została zamieszczona jako odpowiedź, ale nie próbuje odpowiedzieć na pytanie. Powinna być prawdopodobnie edycją, komentarzem, kolejnym pytaniem lub całkowicie usunięta."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: nie jest już potrzebne
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: wymaga szczegółów lub wyjaśnienia
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: To pytanie obecnie zawiera wiele pytań w jednym. Powinno się skupić tylko na jednym problemie.
|
||||
other:
|
||||
name:
|
||||
other: coś innego
|
||||
@@ -420,12 +435,12 @@ backend:
|
||||
deleted_title:
|
||||
other: Usunięte pytanie
|
||||
questions_title:
|
||||
other: Questions
|
||||
other: Pytania
|
||||
tag:
|
||||
tags_title:
|
||||
other: Tags
|
||||
other: Tagi
|
||||
no_description:
|
||||
other: The tag has no description.
|
||||
other: Tag nie posiada opisu.
|
||||
notification:
|
||||
action:
|
||||
update_question:
|
||||
@@ -465,48 +480,48 @@ backend:
|
||||
invited_you_to_answer:
|
||||
other: zaproszono Cię do odpowiedzi
|
||||
earned_badge:
|
||||
other: You've earned the "{{.BadgeName}}" badge
|
||||
other: Zdobyłeś odznakę "{{.BadgeName}}"
|
||||
email_tpl:
|
||||
change_email:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Potwierdź swój nowy adres e-mail"
|
||||
body:
|
||||
other: "Potwierdź swój nowy adres e-mail dla {{.SiteName}} klikając na poniższy link:<br><br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nJeśli to nie Ty wysyłałeś to żądanie zignoruj ten e-mail.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} odpowiedział(-a) na pytanie"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>Zobacz to na {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Zrezygnuj z subskrypcji</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} zaprosił(a) Cię do odpowiedzi"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>Myślę, że na to pytani możesz znać odpowiedź.</blockquote><br>\n<a href='{{.InviteUrl}}'>Zobacz to na {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Zrezygnuj z subskrypcji</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} skomentował/-a Twój wpis"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>Zobacz to na {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Zrezygnuj z subskrypcji</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Nowe pytanie: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Zrezygnuj z subskrypcji</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Reset hasła"
|
||||
body:
|
||||
other: "Ktoś poprosił o zresetowanie hasła [{{.SiteName}}].<br><br>\n\nJeśli to nie Ty, możesz bezpiecznie zignorować ten e-mail.<br><br>\n\nKliknij na poniższy link, aby utworzyć nowe hasło:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Potwierdź swoje nowe konto"
|
||||
body:
|
||||
other: "Witaj w {{.SiteName}}<br><br>\n\nKliknij na poniższy link, aby potwierdzić i aktywować nowe konto:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nJeśli w powyższy link nie można kliknąć, spróbuj skopiować i wkleić go do paska adresu przeglądarki internetowej.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Wiadomość testowa"
|
||||
body:
|
||||
other: "To jest wiadomość testowa."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: oceń pozytywnie
|
||||
@@ -536,57 +551,57 @@ backend:
|
||||
default_badges:
|
||||
autobiographer:
|
||||
name:
|
||||
other: Autobiographer
|
||||
other: Autobiografista
|
||||
desc:
|
||||
other: Filled out <a href="{{ .ProfileURL }}" target="_blank">profile</a> information.
|
||||
other: Wypełniono informacje <a href="{{ .ProfileURL }}" target="_blank">profil</a>.
|
||||
certified:
|
||||
name:
|
||||
other: Certified
|
||||
other: Certyfikowany
|
||||
desc:
|
||||
other: Completed our new user tutorial.
|
||||
other: Ukończono nasz nowy samouczek.
|
||||
editor:
|
||||
name:
|
||||
other: Editor
|
||||
other: Edytor
|
||||
desc:
|
||||
other: First post edit.
|
||||
other: Pierwsza edycja posta.
|
||||
first_flag:
|
||||
name:
|
||||
other: First Flag
|
||||
other: Pierwsza flaga
|
||||
desc:
|
||||
other: First flagged a post.
|
||||
other: Po raz pierwszy oznaczono post.
|
||||
first_upvote:
|
||||
name:
|
||||
other: First Upvote
|
||||
other: Pierwszy pozytywny głos
|
||||
desc:
|
||||
other: First up voted a post.
|
||||
first_link:
|
||||
name:
|
||||
other: First Link
|
||||
other: Pierwszy odnośnik
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
other: Pierwsza Reakcja
|
||||
desc:
|
||||
other: First reacted to the post.
|
||||
first_share:
|
||||
name:
|
||||
other: First Share
|
||||
other: Pierwsze udostępnianie
|
||||
desc:
|
||||
other: First shared a post.
|
||||
scholar:
|
||||
name:
|
||||
other: Scholar
|
||||
desc:
|
||||
other: Asked a question and accepted an answer.
|
||||
other: Zadane pytania i zaakceptowane odpowiedź.
|
||||
commentator:
|
||||
name:
|
||||
other: Commentator
|
||||
desc:
|
||||
other: Leave 5 comments.
|
||||
other: Pozostaw 5 komentarzy.
|
||||
new_user_of_the_month:
|
||||
name:
|
||||
other: New User of the Month
|
||||
other: Nowy użytkownik miesiąca
|
||||
desc:
|
||||
other: Outstanding contributions in their first month.
|
||||
read_guidelines:
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: Jak formatować
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url. com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>> </code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: Poprzedni
|
||||
next: Następny
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: wiki tagu
|
||||
create_tag: Utwórz tag
|
||||
edit_tag: Edytuj tag
|
||||
ask_a_question: Zadaj pytanie
|
||||
ask_a_question: Create Question
|
||||
edit_question: Edytuj pytanie
|
||||
edit_answer: Edytuj odpowiedź
|
||||
search: Szukaj
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: Błąd HTTP 500
|
||||
http_403: Błąd HTTP 403
|
||||
logout: Wyloguj się
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: Powiadomienia
|
||||
inbox: Skrzynka odbiorcza
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: Plik nie może być pusty.
|
||||
only_image: Dozwolone są tylko pliki obrazków.
|
||||
max_size: Rozmiar pliku nie może przekroczyć 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Opis
|
||||
tab_url: Adres URL obrazka
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Tabela
|
||||
heading: Nagłówek
|
||||
cell: Komórka
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: Zamykam ten post jako...
|
||||
btn_cancel: Anuluj
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Czy na pewno chcesz usunąć?
|
||||
close: Zamknij
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Edytuj tag
|
||||
default_reason: Edytuj tag
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: dzień
|
||||
hours: godziny
|
||||
days: dni
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: serce
|
||||
smile: uśmiech
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Filtruj według nazwy tagu
|
||||
no_desc: Tag nie posiada opisu.
|
||||
more: Więcej
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Dodaj pytanie
|
||||
title: Create Question
|
||||
edit_title: Edytuj pytanie
|
||||
default_reason: Edytuj pytanie
|
||||
default_first_reason: Dodaj pytanie
|
||||
default_first_reason: Create question
|
||||
similar_questions: Podobne pytania
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Rewizja
|
||||
title:
|
||||
label: Tytuł
|
||||
placeholder: Bądź konkretny i wyobraź sobie, że zadajesz pytanie innej osobie
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Tytuł nie może być pusty.
|
||||
range: Tytuł do 150 znaków
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Treść
|
||||
msg:
|
||||
empty: Treść nie może być pusta.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Tagi
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Dodaj tag
|
||||
create_btn: Utwórz nowy tag
|
||||
search_tag: Wyszukaj tag
|
||||
hint: "Opisz, o czym jest Twoje pytanie, wymagany jest co najmniej jeden tag."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: Nie znaleziono pasujących tagów
|
||||
tag_required_text: Wymagany tag (co najmniej jeden)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Szukaj
|
||||
footer:
|
||||
build_on: >-
|
||||
Zbudowane na platformie <1> Apache Answer </1> - oprogramowanie open-source, które napędza społeczności pytań i odpowiedzi.<br />Stworzone z miłością © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Zmień
|
||||
loading: Wczytywanie...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Imię
|
||||
msg:
|
||||
empty: Imię nie może być puste.
|
||||
range: Długość nazwy powinna wynosić od 4 do 30 znaków.
|
||||
character: 'Możesz użyć dozwolone znaki "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Adres e-mail
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Nazwa wyświetlana
|
||||
msg: Wyświetlana nazwa nie może być pusta.
|
||||
msg_range: Wyświetlana nazwa do 30 znaków.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Nazwa użytkownika
|
||||
caption: Ludzie mogą oznaczać Cię jako "@nazwa_użytkownika".
|
||||
msg: Nazwa użytkownika nie może być pusta.
|
||||
msg_range: Nazwa użytkownika do 30 znaków.
|
||||
character: 'Należy używać zestawu znaków "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Zdjęcie profilowe
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Twoja poprawka zostanie wyświetlona po zatwierdzeniu.
|
||||
sent_success: Wysyłanie zakończone powodzeniem
|
||||
related_question:
|
||||
title: Powiązane pytania
|
||||
title: Related
|
||||
answers: odpowiedzi
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: Ludzie pytali
|
||||
desc: Wybierz osoby, które mogą znać odpowiedź.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Wyszukaj osoby
|
||||
question_detail:
|
||||
action: Akcja
|
||||
created: Created
|
||||
Asked: Zadane
|
||||
asked: zadał(a)
|
||||
update: Zmodyfikowane
|
||||
Edited: Edited
|
||||
edit: edytowany
|
||||
commented: skomentowano
|
||||
Views: Wyświetlone
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Zarejestruj się
|
||||
logout: Wyloguj się
|
||||
verify: Zweryfikuj
|
||||
add_question: Dodaj pytanie
|
||||
create: Create
|
||||
approve: Zatwierdź
|
||||
reject: Odrzuć
|
||||
skip: Pominięcie
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normalny
|
||||
closed: Zamknięty
|
||||
deleted: Usunięty
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Oczekujący
|
||||
more: Więcej
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Wyniki wyszukiwania
|
||||
keywords: Słowa kluczowe
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Obserwuj
|
||||
following: Obserwuje
|
||||
counts: "Liczba wyników: {{count}}"
|
||||
counts_loading: "... Results"
|
||||
more: Więcej
|
||||
sort_btns:
|
||||
relevance: Relewantność
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Udostępnij post za pośrednictwem...
|
||||
copied: Skopiowano
|
||||
facebook: Udostępnij na Facebooku
|
||||
twitter: Udostępnij na Twitterze
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: Nie możesz głosować na własne posty.
|
||||
modal_confirm:
|
||||
title: Błąd...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Twoje nowe konto zostało potwierdzone; zostaniesz przekierowany na stronę główną.
|
||||
link: Kontynuuj do strony głównej
|
||||
@@ -1520,12 +1585,14 @@ ui:
|
||||
all_questions: Wszystkie pytania
|
||||
x_questions: "{{ count }} pytań"
|
||||
x_answers: "{{ count }} odpowiedzi"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Pytania
|
||||
answers: Odpowiedzi
|
||||
newest: Najnowsze
|
||||
active: Aktywne
|
||||
hot: Hot
|
||||
recommend: Recommend
|
||||
hot: Gorące
|
||||
frequent: Frequent
|
||||
recommend: Polecane
|
||||
score: Ocena
|
||||
unanswered: Bez odpowiedzi
|
||||
modified: zmodyfikowane
|
||||
@@ -1544,7 +1611,7 @@ ui:
|
||||
reputation: Reputacja
|
||||
comments: Komentarze
|
||||
votes: Głosy
|
||||
badges: Badges
|
||||
badges: Odznaczenia
|
||||
newest: Najnowsze
|
||||
score: Ocena
|
||||
edit_profile: Edytuj Profil
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Najlepsze pytania
|
||||
stats: Statystyki
|
||||
list_empty: Nie znaleziono wpisów. <br />Być może chcesz wybrać inną kartę?
|
||||
content_empty: No posts found.
|
||||
accepted: Zaakceptowane
|
||||
answered: Udzielone odpowiedzi
|
||||
asked: zapytano
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Plik bazy danych
|
||||
placeholder: /data/answer.db
|
||||
msg: Plik bazy danych nie może być pusty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Utwórz plik config.yaml
|
||||
label: Plik config.yaml utworzony.
|
||||
@@ -1631,8 +1716,8 @@ ui:
|
||||
admin_name:
|
||||
label: Imię
|
||||
msg: Imię nie może być puste.
|
||||
character: 'Należy używać zestawu znaków "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Nazwa musi mieć maksymalnie 30 znaków.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Hasło
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Hasło nie może być puste.
|
||||
msg_min_length: Hasło musi mieć co najmniej 8 znaków.
|
||||
msg_max_length: Hasło musi mieć maksymalnie 32 znaki.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: Email
|
||||
text: Będziesz potrzebować tego adresu e-mail do logowania.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Marka
|
||||
legal: Prawne
|
||||
write: Pisanie
|
||||
terms: Terms
|
||||
tos: Warunki korzystania z usługi
|
||||
privacy: Prywatność
|
||||
seo: SEO
|
||||
customize: Dostosowywanie
|
||||
themes: Motywy
|
||||
css_html: CSS/HTML
|
||||
login: Logowanie
|
||||
privileges: Uprawnienia
|
||||
plugins: Wtyczki
|
||||
installed_plugins: Zainstalowane wtyczki
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Witamy w serwisie {{site_name}}
|
||||
user_center:
|
||||
login: Zaloguj się
|
||||
@@ -1705,7 +1807,7 @@ ui:
|
||||
login_failed_email_tip: Logowanie nie powiodło się, przed ponowną próbą zezwól na dostęp tej aplikacji do informacji o Twojej skrzynce pocztowej.
|
||||
badges:
|
||||
modal:
|
||||
title: Congratulations
|
||||
title: Gratulacje
|
||||
content: You've earned a new badge.
|
||||
close: Close
|
||||
confirm: View badges
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Witaj Administratorze!
|
||||
site_statistics: Statystyki witryny
|
||||
questions: "Pytania:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Odpowiedzi:"
|
||||
comments: "Komentarze:"
|
||||
votes: "Głosy:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Nazwa
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Błędny adresy email.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Podaj adresy e-mail użytkowników, jeden w każdej linii."
|
||||
display_name:
|
||||
label: Nazwa wyświetlana
|
||||
msg: Wyświetlana nazwa musi mieć od 4 do 30 znaków.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: E-mail
|
||||
msg: Email nie jest prawidłowy.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Imię
|
||||
email: E-mail
|
||||
reputation: Reputacja
|
||||
created_at: Czas utworzenia
|
||||
delete_at: Czas usunięcia
|
||||
suspend_at: Czas zawieszenia
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Status
|
||||
role: Rola
|
||||
action: Akcja
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Zawieś tego użytkownika
|
||||
content: Zawieszony użytkownik nie może się logować.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Pytania
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Strefa czasowa
|
||||
msg: Strefa czasowa nie może być pusta.
|
||||
text: Wybierz miasto w tej samej strefie czasowej, co Ty.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Polityka prywatności
|
||||
text: "Możesz tutaj dodać treść polityki prywatności. Jeśli masz dokument hostowany gdzie indziej, podaj tutaj pełny URL."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Pisanie
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Każdy użytkownik może napisać tylko jedną odpowiedź na każde pytanie
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Rekomendowane tagi
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Zarezerwowane tagi
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Schemat kolorów
|
||||
navbar_style:
|
||||
label: Styl paska nawigacyjnego
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Kolor podstawowy
|
||||
text: Zmodyfikuj kolory używane przez Twoje motywy.
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS i HTML
|
||||
custom_css:
|
||||
@@ -2128,12 +2271,76 @@ ui:
|
||||
deactivate: Deactivate
|
||||
filter:
|
||||
placeholder: Filter by name, badge:id
|
||||
group: Group
|
||||
group: Grupa
|
||||
inactive: Inactive
|
||||
name: Name
|
||||
show_logs: Show logs
|
||||
show_logs: Wyświetl dzienniki
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (opcjonalne)
|
||||
empty: nie może być puste
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Czy na pewno chcesz odrzucić swoją wersję roboczą?
|
||||
messages:
|
||||
post_deleted: Ten post został usunięty.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: Ten post został przypięty.
|
||||
post_unpin: Ten post został odpięty.
|
||||
post_hide_list: Ten post został ukryty na liście.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: Ten wpis został umieszczony na liście.
|
||||
post_unlist: Ten wpis został usunięty z listy.
|
||||
post_pending: Twój wpis oczekuje na recenzje. Będzie widoczny po jej akceptacji.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+127
-129
@@ -288,7 +288,7 @@ ui:
|
||||
change_email: Modificar e-mail
|
||||
install: Instalação do Resposta
|
||||
upgrade: Atualização do Resposta
|
||||
maintenance: Manutençã do Website
|
||||
maintenance: Manutenção do Website
|
||||
users: Usuários
|
||||
notifications:
|
||||
title: Notificações
|
||||
@@ -327,7 +327,7 @@ ui:
|
||||
empty: Código não pode ser vazio.
|
||||
language:
|
||||
label: Idioma (opcional)
|
||||
placeholder: Tetecção automática
|
||||
placeholder: Detecção automática
|
||||
btn_cancel: Cancelar
|
||||
btn_confirm: Adicionar
|
||||
formula:
|
||||
@@ -351,7 +351,7 @@ ui:
|
||||
image:
|
||||
text: Imagem
|
||||
add_image: Adicionar imagem
|
||||
tab_image: Enviar image,
|
||||
tab_image: Enviar imagem
|
||||
form_image:
|
||||
fields:
|
||||
file:
|
||||
@@ -380,7 +380,7 @@ ui:
|
||||
outdent:
|
||||
text: Não identado
|
||||
italic:
|
||||
text: Emphase
|
||||
text: Ênfase
|
||||
link:
|
||||
text: Superlink (Hyperlink)
|
||||
add_link: Adicionar superlink (hyperlink)
|
||||
@@ -537,7 +537,7 @@ ui:
|
||||
title: Adicionar Pergunta
|
||||
edit_title: Editar Pergunta
|
||||
default_reason: Editar pergunta
|
||||
similar_questions: Similar perguntas
|
||||
similar_questions: Perguntas similares
|
||||
form:
|
||||
fields:
|
||||
revision:
|
||||
@@ -564,10 +564,10 @@ ui:
|
||||
label: Resumo da edição
|
||||
placeholder: >-
|
||||
Explique resumidamente suas alterações (ortografia corrigida, gramática corrigida, formatação aprimorada)
|
||||
btn_post_question: Publicação a sua pergunta
|
||||
btn_post_question: Publicar a sua pergunta
|
||||
btn_save_edits: Salvar edições
|
||||
answer_question: Responda a sua própria pergunta
|
||||
post_question&answer: Publicação a sua pergunta e resposta
|
||||
post_question&answer: Publicar a sua pergunta e resposta
|
||||
tag_selector:
|
||||
add_btn: Adicionar marcador
|
||||
create_btn: Criar novo marcador
|
||||
@@ -589,7 +589,7 @@ ui:
|
||||
placeholder: Procurar
|
||||
footer:
|
||||
build_on: >-
|
||||
Built on <1> Answer </1>- the open-source software that powers Q&A communities.<br />Made with love © {{cc}}.
|
||||
Desenvolvido com base no <1> Answer </1> — o software de código aberto que alimenta comunidades de perguntas e respostas.<br />Feito com amor © {{cc}}.
|
||||
upload_img:
|
||||
name: Mudar
|
||||
loading: carregando...
|
||||
@@ -604,13 +604,13 @@ ui:
|
||||
info: "Se não chegar, verifique sua pasta de spam."
|
||||
another: >-
|
||||
Enviamos outro e-mail de ativação para você em <bold>{{mail}}</bold>. Pode levar alguns minutos para chegar; certifique-se de verificar sua pasta de spam.
|
||||
btn_name: Resend activation email
|
||||
btn_name: Reenviar e-mail de ativação
|
||||
change_btn_name: Mudar email
|
||||
msg:
|
||||
empty: Não pode ser vazio.
|
||||
login:
|
||||
page_title: Bem vindo ao {{site_name}}
|
||||
login_to_continue: Entre para continue
|
||||
login_to_continue: Entre para continuar
|
||||
info_sign: Não possui uma conta? <1>Cadastrar-se</1>
|
||||
info_login: Já possui uma conta? <1>Entre</1>
|
||||
agreements: Ao se registrar, você concorda com as <1>políticas de privacidades</1> e os <3>termos de serviços</3>.
|
||||
@@ -683,7 +683,7 @@ ui:
|
||||
caption: As pessoas poderão mensionar você com "@usuário".
|
||||
msg: Nome de usuário não pode ser vazio.
|
||||
msg_range: Nome de usuário até 30 caracteres.
|
||||
character: 'Deve usar o conjunto de caracteres "a-z", "0-9", " - . _"'
|
||||
character: 'Deve usar o conjunto de caracteres "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Perfil Imagem
|
||||
gravatar: Gravatar
|
||||
@@ -776,9 +776,9 @@ ui:
|
||||
delete:
|
||||
title: Excluir esta postagem
|
||||
question: >-
|
||||
Nós não recomendamos <strong>excluindo perguntas com respostas</strong> porque isso priva os futuros leitores desse conhecimento.</p><p>Repeated deletion of answered questions can result in a sua account being blocked from asking. Você tem certeza que deseja deletar?
|
||||
Nós não recomendamos <strong> excluir perguntas com respostas</strong> porque isso priva os futuros leitores desse conhecimento.</p><p>A exclusão repetida de perguntas respondidas pode resultar no bloqueio de perguntas de sua conta. Você tem certeza que deseja excluir?
|
||||
answer_accepted: >-
|
||||
<p>Nós não recomendamos <strong>deleting accepted answer</strong> porque isso priva os futuros leitores desse conhecimento. </p> Repeated deletion of accepted answers can result in a sua account being blocked from answering. Você tem certeza que deseja deletar?
|
||||
<p>Não recomendamos <strong>excluir resposta aceita</strong> porque isso priva os futuros leitores desse conhecimento. </p> A exclusão repetida de respostas aceitas pode resultar no bloqueio de respostas de uma conta sua. Você tem certeza que deseja excluir?
|
||||
other: Você tem certeza que deseja deletar?
|
||||
tip_question_deleted: Esta postagem foi deletada
|
||||
tip_answer_deleted: Esta resposta foi deletada
|
||||
@@ -824,7 +824,7 @@ ui:
|
||||
via: Compartilhar postagem via...
|
||||
copied: Copiado
|
||||
facebook: Compartilhar no Facebook
|
||||
twitter: Compartilhar no Twitter
|
||||
twitter: Compartilhar no X
|
||||
cannot_vote_for_self: Você não pode votar na sua própria postagem
|
||||
modal_confirm:
|
||||
title: Erro...
|
||||
@@ -834,7 +834,7 @@ ui:
|
||||
link: Continuar para a página inicial.
|
||||
invalid: >-
|
||||
Desculpe, este link de confirmação não é mais válido. Talvez a sua já está ativa.
|
||||
confirm_new_email: Your email has been updated.
|
||||
confirm_new_email: Seu e-mail foi atualizado.
|
||||
confirm_new_email_invalid: >-
|
||||
Desculpe, este link de confirmação não é mais válido. Talvez o seu e-mail já tenha sido alterado.
|
||||
unsubscribe:
|
||||
@@ -846,7 +846,7 @@ ui:
|
||||
following_tags: Seguindo Marcadores
|
||||
edit: Editar
|
||||
save: Salvar
|
||||
follow_tag_tip: Seguir tags to curate a sua lista de perguntas.
|
||||
follow_tag_tip: Siga as tags para selecionar sua lista de perguntas.
|
||||
hot_questions: Perguntas quentes
|
||||
all_questions: Todas Perguntas
|
||||
x_questions: "{{ count }} perguntas"
|
||||
@@ -878,7 +878,7 @@ ui:
|
||||
score: Pontuação
|
||||
edit_profile: Editar Perfil
|
||||
visited_x_days: "Visitado {{ count }} dias"
|
||||
viewed: Viewed
|
||||
viewed: Visualizado
|
||||
joined: Ingressou
|
||||
last_login: Visto
|
||||
about_me: Sobre mim
|
||||
@@ -900,13 +900,13 @@ ui:
|
||||
x_questions: perguntas
|
||||
install:
|
||||
title: Instalação
|
||||
next: Proximo
|
||||
next: Próximo
|
||||
done: Completo
|
||||
config_yaml_error: Não é possível criar o arquivo config.yaml.
|
||||
lang:
|
||||
label: Por favor Escolha um Idioma
|
||||
db_type:
|
||||
label: Database Engine
|
||||
label: Mecanismo de banco de dados
|
||||
db_username:
|
||||
label: Nome de usuário
|
||||
placeholder: root
|
||||
@@ -916,68 +916,68 @@ ui:
|
||||
placeholder: root
|
||||
msg: Senha não pode ser vazio.
|
||||
db_host:
|
||||
label: Database Host
|
||||
label: Host do banco de dados
|
||||
placeholder: "db:3306"
|
||||
msg: Database Host não pode ser vazio.
|
||||
msg: Host de banco de dados não pode ficar vazio.
|
||||
db_name:
|
||||
label: Database Nome
|
||||
label: Nome do banco de dados
|
||||
placeholder: answer
|
||||
msg: Database Nome não pode ser vazio.
|
||||
msg: O nome do banco de dados não pode ficar vazio.
|
||||
db_file:
|
||||
label: Database File
|
||||
label: Arquivo de banco de dados
|
||||
placeholder: /data/answer.db
|
||||
msg: Database File não pode ser vazio.
|
||||
msg: O arquivo de banco de dados não pode ficar vazio.
|
||||
config_yaml:
|
||||
title: Create config.yaml
|
||||
label: The config.yaml file created.
|
||||
title: Criar config.yaml
|
||||
label: O arquivo config.yaml foi criado.
|
||||
desc: >-
|
||||
You can create the <1>config.yaml</1> file manually in the <1>/var/wwww/xxx/</1> directory and paste the following text into it.
|
||||
info: After you've done that, click "Next" button.
|
||||
site_information: Site Information
|
||||
Você pode criar o arquivo <1>config.yaml</1> manualmente no diretório <1>/var/www/xxx/</1> e colar o seguinte texto nele.
|
||||
info: Depois de fazer isso, clique no botão "Avançar".
|
||||
site_information: Informações do site
|
||||
admin_account: Administrador Conta
|
||||
site_name:
|
||||
label: Site Nome
|
||||
msg: Site Nome não pode ser vazio.
|
||||
site_url:
|
||||
label: Site URL
|
||||
text: The address of a sua site.
|
||||
text: O endereço do seu site.
|
||||
msg:
|
||||
empty: Site URL não pode ser vazio.
|
||||
incorrect: Site URL incorrect format.
|
||||
incorrect: Formato incorreto da URL do site.
|
||||
contact_email:
|
||||
label: E-mail par contato
|
||||
text: Email address of key contact responsible for this site.
|
||||
label: E-mail para contato
|
||||
text: Endereço de e-mail do contato principal responsável por este site.
|
||||
msg:
|
||||
empty: E-mail par contato não pode ser vazio.
|
||||
incorrect: E-mail par contato incorrect format.
|
||||
empty: E-mail para contato não pode ser vazio.
|
||||
incorrect: E-mail para contato em formato incorreto.
|
||||
admin_name:
|
||||
label: Nome
|
||||
msg: Nome não pode ser vazio.
|
||||
admin_password:
|
||||
label: Senha
|
||||
text: >-
|
||||
You will need this password to log in. Por favor store it in a secure location.
|
||||
msg: Senha não pode ser vazio.
|
||||
Você precisará dessa senha para efetuar login. Por favor, guarde-a em um local seguro.
|
||||
msg: Senha não pode ser vazia.
|
||||
admin_email:
|
||||
label: Email
|
||||
text: You will need this email to log in.
|
||||
text: Você precisará deste e-mail para fazer login.
|
||||
msg:
|
||||
empty: Email não pode ser vazio.
|
||||
incorrect: Email incorrect format.
|
||||
ready_title: Your Resposta is Ready!
|
||||
incorrect: Formato de e-mail incorreto.
|
||||
ready_title: Sua resposta está pronta!
|
||||
ready_desc: >-
|
||||
If you ever feel like changing more settings, visit <1>admin section</1>; find it in the site menu.
|
||||
good_luck: "Have fun, and good luck!"
|
||||
warn_title: Warning
|
||||
Se você quiser alterar mais configurações, visite a <1>seção de administração</1>; encontre-a no menu do site.
|
||||
good_luck: "Divirta-se e boa sorte!"
|
||||
warn_title: Aviso
|
||||
warn_desc: >-
|
||||
The file <1>config.yaml</1> already exists. If you need to reset any of the configuration items in this file, please delete it first.
|
||||
install_now: You may try <1>installing now</1>.
|
||||
installed: Already installed
|
||||
O arquivo <1>config.yaml</1> já existe. Se precisar redefinir algum item de configuração neste arquivo, exclua-o primeiro.
|
||||
install_now: Você pode tentar <1>instalar agora</1>.
|
||||
installed: Já instalado
|
||||
installed_desc: >-
|
||||
You appear to have already installed. To reinstall please clear a sua old database tables first.
|
||||
db_failed: Database connection failed
|
||||
Parece que você já instalou. Para reinstalar, limpe primeiro as tabelas antigas do seu banco de dados.
|
||||
db_failed: Falha na conexão do banco de dados
|
||||
db_failed_desc: >-
|
||||
This either means that the database information in a sua <1>config.yaml</1> file is incorrect or that contact with the database server could not be established. This could mean a sua host's database server is down.
|
||||
Isso significa que as informações do banco de dados em um arquivo <1>config.yaml</1> do SUA estão incorretas ou que o contato com o servidor do banco de dados não pôde ser estabelecido. Isso pode significar que o servidor de banco de dados de um host SUA está inativo.
|
||||
counts:
|
||||
views: visualizações
|
||||
Votos: votos
|
||||
@@ -987,7 +987,7 @@ ui:
|
||||
desc: "Infelizmente, esta postagem não existe mais."
|
||||
back_home: Voltar para a página inicial
|
||||
page_50X:
|
||||
desc: O servidor encontrou um erro e não pôde concluir uma solicitação sua.
|
||||
desc: O servidor encontrou um erro e não pôde concluir sua solicitação.
|
||||
back_home: Voltar para a página inicial
|
||||
page_maintenance:
|
||||
desc: "Estamos em manutenção, voltaremos em breve."
|
||||
@@ -1037,7 +1037,7 @@ ui:
|
||||
answer_links: Links das Respostas
|
||||
documents: Documentos
|
||||
feedback: Opinião
|
||||
support: Supporte
|
||||
support: Suporte
|
||||
review: Revisar
|
||||
config: Configurações
|
||||
update_to: Atualizar ao
|
||||
@@ -1133,7 +1133,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Nome de exibição
|
||||
msg: Nome de exibição deve ser 4-30 caracteres em comprimento.
|
||||
msg: Nome de exibição deve ser 2-30 caracteres em comprimento.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email não é válido.
|
||||
@@ -1233,7 +1233,7 @@ ui:
|
||||
smtp_port:
|
||||
label: SMTP Port
|
||||
msg: SMTP port must be number 1 ~ 65535.
|
||||
text: The port to a sua mail server.
|
||||
text: A porta para seu servidor de e-mail.
|
||||
smtp_username:
|
||||
label: SMTP Nome de usuário
|
||||
msg: SMTP username não pode ser vazio.
|
||||
@@ -1241,9 +1241,9 @@ ui:
|
||||
label: SMTP Senha
|
||||
msg: SMTP password não pode ser vazio.
|
||||
test_email_recipient:
|
||||
label: Test Email Recipients
|
||||
text: Provide email address that will receive test sends.
|
||||
msg: Test email recipients is invalid
|
||||
label: Destinatários de e-mail de teste
|
||||
text: Forneça o endereço de e-mail que receberá os envios de testes.
|
||||
msg: Os destinatários do e-mail de teste são inválidos
|
||||
smtp_authentication:
|
||||
label: Enable authentication
|
||||
title: SMTP Authentication
|
||||
@@ -1255,129 +1255,127 @@ ui:
|
||||
logo:
|
||||
label: Logo (opcional)
|
||||
msg: Logo não pode ser vazio.
|
||||
text: The logo image at the top left of a sua site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown.
|
||||
text: A imagem do logotipo no canto superior esquerdo do seu site. Use uma imagem retangular larga com altura de 56 e proporção maior que 3:1. Se deixada em branco, o texto do título do site será exibido.
|
||||
mobile_logo:
|
||||
label: Mobile Logo (opcional)
|
||||
text: The logo used on mobile version of a sua site. Use a wide rectangular image with a height of 56. If left blank, the image from the "logo" setting will be used.
|
||||
text: O logotipo usado na versão mobile do seu site. Use uma imagem retangular larga com altura de 56. Se deixado em branco, a imagem da configuração "logotipo" será usada.
|
||||
square_icon:
|
||||
label: Square Icon (opcional)
|
||||
msg: Square icon não pode ser vazio.
|
||||
text: Imagem used as the base for metadata icons. Should ideally be larger than 512x512.
|
||||
text: Imagem usada como base para ícones de metadados. Idealmente, deve ser maior que 512x512.
|
||||
favicon:
|
||||
label: Favicon (opcional)
|
||||
text: A favicon for a sua site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, "square icon" will be used.
|
||||
text: Um favicon para o seu site. Para funcionar corretamente em uma CDN, ele deve ser um png. Será redimensionado para 32x32. Se deixado em branco, o "ícone quadrado" será usado.
|
||||
legal:
|
||||
page_title: Legal
|
||||
terms_of_service:
|
||||
label: Terms of Service
|
||||
text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
label: Termos de Serviço
|
||||
text: "Você pode adicionar conteúdo dos termos de serviço aqui. Se você já possui um documento hospedado em outro lugar, informe o URL completo aqui."
|
||||
privacy_policy:
|
||||
label: Privacy Policy
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
label: Política de Privacidade
|
||||
text: "Você pode adicionar o conteúdo da política de privacidade aqui. Se você já possui um documento hospedado em outro lugar, informe o URL completo aqui."
|
||||
write:
|
||||
page_title: Write
|
||||
page_title: Escrever
|
||||
recommend_tags:
|
||||
label: Recommend Marcadores
|
||||
text: "Por favor input tag slug above, one tag per line."
|
||||
label: Recomendar Marcadores
|
||||
text: "Por favor, insira o slug da tag acima, uma tag por linha."
|
||||
required_tag:
|
||||
title: Required Tag
|
||||
label: Set recommend tag as requirido
|
||||
text: "Every new question must have ao menos one recommend tag."
|
||||
title: Tag necessária
|
||||
label: Definir tag recomendada como necessária
|
||||
text: "Cada nova pergunta deve ter pelo menos uma tag de recomendação."
|
||||
reserved_tags:
|
||||
label: Reserved Marcadores
|
||||
text: "Reserved tags can only be added to a post by moderator."
|
||||
label: Marcadores Reservados
|
||||
text: "Tags reservadas só podem ser adicionadas a uma postagem pelo moderador."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
label: Permalink
|
||||
text: Custom URL structures can improve the usability, and forward-compatibility of a sua links.
|
||||
text: Estruturas de URL personalizadas podem melhorar a usabilidade e a compatibilidade futura de seus links.
|
||||
robots:
|
||||
label: robots.txt
|
||||
text: This will permanently override any related site settings.
|
||||
text: Isso substituirá permanentemente todas as configurações relacionadas do site.
|
||||
Temas:
|
||||
page_title: Temas
|
||||
Temas:
|
||||
label: Temas
|
||||
text: Select an existing Tema.
|
||||
text: Selecione um tema existente.
|
||||
navbar_style:
|
||||
label: Navbar Style
|
||||
text: Select an existing Tema.
|
||||
label: Estilo da barra de navegação
|
||||
text: Selecione um tema existente.
|
||||
primary_color:
|
||||
label: Primary Color
|
||||
text: Modify the colors used by a sua Temas
|
||||
label: Cor primária
|
||||
text: Modifique as cores usadas por seus Temas
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
page_title: CSS e HTML
|
||||
custom_css:
|
||||
label: Custom CSS
|
||||
text: This will insert as <link>
|
||||
text: Isto será inserido como <link>
|
||||
head:
|
||||
label: Head
|
||||
text: This will insert before </head>
|
||||
text: Isto será inserido antes de </head>
|
||||
header:
|
||||
label: Header
|
||||
text: This will insert after <body>
|
||||
text: Isto será inserido após <body>
|
||||
footer:
|
||||
label: Footer
|
||||
text: This will insert before </html>.
|
||||
text: Isso será inserido antes de </html>.
|
||||
login:
|
||||
page_title: Login
|
||||
membership:
|
||||
title: Membership
|
||||
label: Allow new registrations
|
||||
text: Turn off to prevent anyone from creating a new account.
|
||||
title: Associação
|
||||
label: Permitir novos registros
|
||||
text: Desative para impedir que alguém crie uma nova conta.
|
||||
private:
|
||||
title: Private
|
||||
title: Privado
|
||||
label: Login requirido
|
||||
text: Only logged in users can access this community.
|
||||
text: Somente usuários logados podem acessar esta comunidade.
|
||||
form:
|
||||
empty: não pode ser vazio
|
||||
invalid: is invalid
|
||||
invalid: é inválido
|
||||
btn_submit: Salvar
|
||||
not_found_props: "Required property {{ key }} not found."
|
||||
not_found_props: "Propriedade necessária {{ key }} não encontrada."
|
||||
page_review:
|
||||
review: Revisar
|
||||
proposed: proposed
|
||||
question_edit: Pergunta edit
|
||||
answer_edit: Resposta edit
|
||||
tag_edit: Tag edit
|
||||
edit_summary: Editar summary
|
||||
edit_question: Editar question
|
||||
edit_answer: Editar answer
|
||||
proposed: proposta
|
||||
question_edit: Editar Pergunta
|
||||
answer_edit: Editar Resposta
|
||||
tag_edit: Editar Tag
|
||||
edit_summary: Editar resumo
|
||||
edit_question: Editar pergunta
|
||||
edit_answer: Editar resposta
|
||||
edit_tag: Editar tag
|
||||
empty: No review tasks left.
|
||||
empty: Não há mais tarefas de revisão.
|
||||
timeline:
|
||||
undeleted: undeleted
|
||||
deleted: deleted
|
||||
downvote: downvote
|
||||
upvote: upvote
|
||||
accept: accept
|
||||
cancelled: cancelled
|
||||
commented: commented
|
||||
undeleted: não excluído
|
||||
deleted: apagado
|
||||
downvote: voto negativo
|
||||
upvote: voto positivo
|
||||
accept: aceitar
|
||||
cancelled: cancelado
|
||||
commented: comentado
|
||||
rollback: rollback
|
||||
edited: edited
|
||||
answered: answered
|
||||
asked: asked
|
||||
closed: closed
|
||||
reopened: reopened
|
||||
created: created
|
||||
title: "Histórico for"
|
||||
tag_title: "Timeline for"
|
||||
show_Votos: "Show Votos"
|
||||
edited: editado
|
||||
answered: respondido
|
||||
asked: perguntado
|
||||
closed: fechado
|
||||
reopened: reaberto
|
||||
created: criado
|
||||
title: "Histórico para"
|
||||
tag_title: "Linha do tempo para"
|
||||
show_Votos: "Mostrar votos"
|
||||
n_or_a: N/A
|
||||
title_for_question: "Timeline for"
|
||||
title_for_answer: "Timeline for answer to {{ title }} by {{ author }}"
|
||||
title_for_tag: "Timeline for tag"
|
||||
title_for_question: "Linha do tempo para"
|
||||
title_for_answer: "Linha do tempo para resposta a {{ title }} por {{ author }}"
|
||||
title_for_tag: "Linha do tempo para tag"
|
||||
datetime: Datetime
|
||||
type: Type
|
||||
by: By
|
||||
comment: Comment
|
||||
no_data: "We couldn't find anything."
|
||||
type: Tipo
|
||||
by: Por
|
||||
comment: Comentário
|
||||
no_data: "Não conseguimos encontrar nada."
|
||||
users:
|
||||
title: Usuários
|
||||
users_with_the_most_reputation: Usuários with the highest reputation scores
|
||||
users_with_the_most_vote: Usuários who voted the most
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
users_with_the_most_reputation: Usuários com as maiores pontuações de reputação
|
||||
users_with_the_most_vote: Usuários que mais votaram
|
||||
staffs: Nossa equipe comunitária
|
||||
reputation: reputação
|
||||
Votos: Votos
|
||||
|
||||
|
||||
|
||||
+565
-338
File diff suppressed because it is too large
Load Diff
+284
-57
@@ -57,6 +57,8 @@ backend:
|
||||
other: Editează
|
||||
undelete:
|
||||
other: Restabilește
|
||||
merge:
|
||||
other: Îmbinare
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,16 +139,18 @@ backend:
|
||||
other: Parolă
|
||||
pass:
|
||||
other: Parolă
|
||||
old_pass:
|
||||
other: Parolă actuală
|
||||
original_text:
|
||||
other: This post
|
||||
other: Acest articol
|
||||
email_or_password_wrong_error:
|
||||
other: E-mailul și parola nu se potrivesc.
|
||||
error:
|
||||
common:
|
||||
invalid_url:
|
||||
other: Invalid URL.
|
||||
other: URL invalid.
|
||||
status_invalid:
|
||||
other: Invalid status.
|
||||
other: Stare nevalidă.
|
||||
password:
|
||||
space_invalid:
|
||||
other: Parola nu poate conține spații.
|
||||
@@ -154,7 +158,7 @@ backend:
|
||||
cannot_update_their_password:
|
||||
other: Nu vă puteți modifica parola.
|
||||
cannot_edit_their_profile:
|
||||
other: You cannot modify your profile.
|
||||
other: Nu vă puteți modifica profilul.
|
||||
cannot_modify_self_status:
|
||||
other: Nu vă puteți modifica starea.
|
||||
email_or_password_wrong:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: Nu există permisiunea de ștergere.
|
||||
question_closed_cannot_add:
|
||||
other: Întrebările sunt închise şi nu pot fi adăugate.
|
||||
content_cannot_empty:
|
||||
other: Conținutul răspunsului nu poate fi gol.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Comentariul nu poate fi editat.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: Comentariul nu a fost găsit.
|
||||
cannot_edit_after_deadline:
|
||||
other: Comentariul a durat prea mult pentru a fi modificat.
|
||||
content_cannot_empty:
|
||||
other: Conținutul comentariului nu poate fi gol.
|
||||
email:
|
||||
duplicate:
|
||||
other: Email-ul există deja.
|
||||
@@ -207,15 +215,15 @@ backend:
|
||||
new_password_same_as_previous_setting:
|
||||
other: Noua parolă este identică cu cea anterioară.
|
||||
already_deleted:
|
||||
other: This post has been deleted.
|
||||
other: Acest articol a fost șters.
|
||||
meta:
|
||||
object_not_found:
|
||||
other: Meta object not found
|
||||
other: Nu s-a găsit obiectul Meta
|
||||
question:
|
||||
already_deleted:
|
||||
other: Această postare a fost ștearsă.
|
||||
under_review:
|
||||
other: Your post is awaiting review. It will be visible after it has been approved.
|
||||
other: Articolul tău este în așteptare. Acesta va fi vizibil după ce a fost aprobat.
|
||||
not_found:
|
||||
other: Întrebarea nu a fost găsită.
|
||||
cannot_deleted:
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: Nu există permisiunea de a închide.
|
||||
cannot_update:
|
||||
other: Nu aveți permisiunea de a actualiza.
|
||||
content_cannot_empty:
|
||||
other: Conținutul nu poate fi gol.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Rangul de reputaţie nu îndeplineşte condiţia.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: Nu puteți șterge o etichetă care este în uz.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: Nu se poate seta sinonimul etichetei curente ca atare.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: Numele nu poate fi o adresă de e-mail.
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "{{.Field}} format lângă '{{.Content}}' la linia {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "Numărul de utilizatori pe care îi adăugați odată trebuie să fie în intervalul 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Citirea configurației a eșuat
|
||||
@@ -315,7 +337,7 @@ backend:
|
||||
other: Configurarea site-ului nu a fost găsită.
|
||||
badge:
|
||||
object_not_found:
|
||||
other: Badge object not found
|
||||
other: Nu s-a găsit obiectul Insignă
|
||||
reason:
|
||||
spam:
|
||||
name:
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: nepoliticos sau abuziv
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "O persoană rezonabilă ar considera acest conținut nepotrivit pentru un discurs respectuos."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: un duplicat
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: nu este un răspuns
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: nu mai este necesar
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: necesită detalii sau claritate
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: altceva
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirmați noua dvs. adresă de e-mail"
|
||||
body:
|
||||
other: "Confirmați noua dvs. adresă de e-mail pentru {{.SiteName}} făcând clic pe următorul link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nDacă nu ați solicitat această modificare, vă rugăm să ignorați acest e-mail.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} a răspuns la întrebarea dvs"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>Vizualizați-l pe {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Dezabonare</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} vă invită să răspundeți"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>Cred că ai putea ști răspunsul.</blockquote><br>\n<a href='{{.InviteUrl}}'>Vizualizaţi-l pe {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Dezabonare</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} a răspuns la întrebarea dvs"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>Vizualizați-l pe {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Dezabonare</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Întrebare nouă: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Dezabonare</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Resetare parolă"
|
||||
body:
|
||||
other: "Cineva a cerut resetarea parolei pe {{.SiteName}}.<br><br>\n\nDacă nu ai fost, poți ignora în siguranță acest e-mail.<br><br>\n\nFaceţi clic pe următorul link pentru a alege o parolă nouă:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirmă noul tău cont"
|
||||
body:
|
||||
other: "Bun venit la {{.SiteName}}!<br><br>\n\nFaceţi clic pe următorul link pentru a confirma şi activa noul cont:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nDacă link-ul de mai sus nu este clickabil, încearcă să o copiezi și să o inserezi în bara de adrese a browser-ului tău.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test de e-mail"
|
||||
body:
|
||||
other: "Acesta este un e-mail de test."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: votat
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -588,7 +603,7 @@ backend:
|
||||
name:
|
||||
other: New User of the Month
|
||||
desc:
|
||||
other: Outstanding contributions in their first month.
|
||||
other: Contribuții restante în prima lor lună.
|
||||
read_guidelines:
|
||||
name:
|
||||
other: Read Guidelines
|
||||
@@ -616,7 +631,7 @@ backend:
|
||||
other: Shared a post with 300 unique visitors.
|
||||
great_share:
|
||||
name:
|
||||
other: Great Share
|
||||
other: Distribuire grozavă
|
||||
desc:
|
||||
other: Shared a post with 1000 unique visitors.
|
||||
out_of_love:
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: Cum se formatează
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: Înapoi
|
||||
next: Înainte
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: etichetă wiki
|
||||
create_tag: Creați etichetă
|
||||
edit_tag: Modificați eticheta
|
||||
ask_a_question: Adăugați întrebarea
|
||||
ask_a_question: Create Question
|
||||
edit_question: Editați întrebarea
|
||||
edit_answer: Editaţi răspunsul
|
||||
search: Caută
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: Eroare HTTP 500
|
||||
http_403: Eroare HTTP 403
|
||||
logout: Deconectare
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: Notificări
|
||||
inbox: Mesaje primite
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: Fișierul nu poate fi gol.
|
||||
only_image: Sunt permise doar fișierele imagine.
|
||||
max_size: Dimensiunea fişierului nu poate depăşi 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Descriere
|
||||
tab_url: URL-ul imaginii
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Tabelă
|
||||
heading: Titlu
|
||||
cell: Celulă
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: Închid această postare ca...
|
||||
btn_cancel: Anulează
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Sunteţi sigur că doriţi să ştergeţi?
|
||||
close: Închide
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Editează eticheta
|
||||
default_reason: Editare etichetă
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: zi
|
||||
hours: ore
|
||||
days: zile
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Filtrare după numele etichetei
|
||||
no_desc: Această echipă nu are o descriere.
|
||||
more: Mai multe
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Adăugați întrebarea
|
||||
title: Create Question
|
||||
edit_title: Editați întrebarea
|
||||
default_reason: Editați întrebarea
|
||||
default_first_reason: Adaugă o întrebare
|
||||
default_first_reason: Create question
|
||||
similar_questions: Întrebări similare
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Revizuire
|
||||
title:
|
||||
label: Titlu
|
||||
placeholder: Fii specific și imaginează-ți că pui o întrebare unei alte persoane
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Titlul nu poate fi gol.
|
||||
range: Titlu de până la 150 de caractere
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Corp
|
||||
msg:
|
||||
empty: Corpul mesajului trebuie să conțină text.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Etichete
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Adaugă etichetă
|
||||
create_btn: Creează o etichetă nouă
|
||||
search_tag: Căutare etichetă
|
||||
hint: "Descrie despre ce este intrebarea ta, este necesar cel putin o eticheta."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: Nicio etichetă potrivită
|
||||
tag_required_text: Etichetă necesară (cel puțin una)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Caută
|
||||
footer:
|
||||
build_on: >-
|
||||
Susținut de <1> Apache Răspuns </1>- software-ul open-source care asigură Q&A comunități.<br />Făcut cu dragoste ©️ {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Schimbare
|
||||
loading: încarcare...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Nume
|
||||
msg:
|
||||
empty: Câmpul Nume trebuie completat.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: E-mail
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Nume afișat
|
||||
msg: Numele afișat nu poate fi gol.
|
||||
msg_range: Nume afișat până la 30 de caractere.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Nume de utilizator
|
||||
caption: Oamenii te pot menționa ca "@utilizator".
|
||||
msg: Numele de utilizator nu poate fi gol.
|
||||
msg_range: Nume utilizator de până la 30 de caractere.
|
||||
character: 'Trebuie să utilizați setul de caractere "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Imaginea de profil
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Revizuirea ta va arăta după recenzie.
|
||||
sent_success: Trimis cu succes
|
||||
related_question:
|
||||
title: Întrebări conexe
|
||||
title: Related
|
||||
answers: răspunsuri
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: Persoane întrebate
|
||||
desc: Invită persoane care crezi că știu răspunsul.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Caută persoane
|
||||
question_detail:
|
||||
action: Acţiune
|
||||
created: Created
|
||||
Asked: Întrebat
|
||||
asked: întrebat
|
||||
update: Modificat
|
||||
Edited: Edited
|
||||
edit: editat
|
||||
commented: commented
|
||||
Views: Văzute
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Înscrieți-vă
|
||||
logout: Deconectaţi-vă
|
||||
verify: Verificare
|
||||
add_question: Adaugă o întrebare
|
||||
create: Create
|
||||
approve: Aprobă
|
||||
reject: Respins
|
||||
skip: Treci peste
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Rezultatele căutării
|
||||
keywords: Cuvinte cheie
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Urmărește
|
||||
following: Urmăriți
|
||||
counts: "{{count}} rezultatele"
|
||||
counts_loading: "... Results"
|
||||
more: Mai mult
|
||||
sort_btns:
|
||||
relevance: Relevanță
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Distribuie postarea prin...
|
||||
copied: Copiat
|
||||
facebook: Partajează pe Facebook
|
||||
twitter: Partajați pe Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: Nu poți vota pentru propria ta postare.
|
||||
modal_confirm:
|
||||
title: Eroare...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Noul tău cont este confirmat; vei fi redirecționat către pagina de pornire.
|
||||
link: Continuă la pagina principală
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: Toate întrebările
|
||||
x_questions: "{{ count }} Întrebări"
|
||||
x_answers: "{{ count }} răspunsuri"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Întrebări
|
||||
answers: Răspunsuri
|
||||
newest: Cele mai noi
|
||||
active: Activ
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Scor
|
||||
unanswered: Fără răspuns
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Top Intrebari
|
||||
stats: Statistici
|
||||
list_empty: Nici o postare găsită.<br />Poate doriţi să selectaţi o filă diferită?
|
||||
content_empty: No posts found.
|
||||
accepted: Acceptat
|
||||
answered: răspunse
|
||||
asked: întrebat
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Fișierul bazei de date
|
||||
placeholder: /data/answer.db
|
||||
msg: Fişierul bazei de date nu poate fi gol.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Crează config.yaml
|
||||
label: Fișierul config.yaml a fost creat.
|
||||
@@ -1631,8 +1716,8 @@ ui:
|
||||
admin_name:
|
||||
label: Nume
|
||||
msg: Câmpul Nume trebuie completat.
|
||||
character: 'Trebuie să utilizați setul de caractere "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Numele trebuie să aibă maximum 30 de caractere.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Parolă
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Parola nu poate fi goală.
|
||||
msg_min_length: Parola trebuie să aibă cel puțin 8 caractere.
|
||||
msg_max_length: Parola trebuie să aibă cel puțin 32 caractere.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: E-mail
|
||||
text: Veţi avea nevoie de acest e-mail pentru a vă autentifica.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Marcă
|
||||
legal: Juridic
|
||||
write: Scrie
|
||||
terms: Terms
|
||||
tos: Condiții de utilizare
|
||||
privacy: Confidențialitate
|
||||
seo: SEO
|
||||
customize: Personalizează
|
||||
themes: Teme
|
||||
css_html: CSS/HTML
|
||||
login: Autentifică-te
|
||||
privileges: Privilegii
|
||||
plugins: Extensii
|
||||
installed_plugins: Extensii instalate
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Bun venit la {{site_name}}
|
||||
user_center:
|
||||
login: Autentifică-te
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Statisticile site-ului
|
||||
questions: "Întrebări:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Răspunsuri:"
|
||||
comments: "Comentarii:"
|
||||
votes: "Voturi:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Te rugăm să introduci e-mailul utilizatorului, câte unul pe linie."
|
||||
display_name:
|
||||
label: Nume afișat
|
||||
msg: Numele afișat trebuie să aibă între 4 și 30 de caractere.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: E-mail
|
||||
msg: E-mail nu este validă.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Nume
|
||||
email: E-mail
|
||||
reputation: Reputație
|
||||
created_at: Ora crearii
|
||||
delete_at: Oră ștergerii
|
||||
suspend_at: Ora suspendării
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Stare
|
||||
role: Rol
|
||||
action: Acţiune
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspendă acest utilizator
|
||||
content: Un utilizator suspendat nu se poate autentifica.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Întrebări
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Fusul orar
|
||||
msg: Fusul orar nu poate fi gol.
|
||||
text: Alege un oraș în același fus orar cu tine.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Politică de confidențialitate
|
||||
text: "Puteți adăuga aici termeni politicii de confidențialitate. Dacă aveți deja un document găzduit în altă parte, furnizați URL-ul complet aici."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Scrie
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Fiecare utilizator poate scrie doar câte un răspuns pentru fiecare întrebare
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Etichete recomandate
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Etichete rezervate
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Paletă de culori
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Culoare primară
|
||||
text: Modifică culorile folosite de temele tale
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS și HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (opțional)
|
||||
empty: nu poate fi lăsat necompletat
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Ești sigur că vrei să renunți la ciornă?
|
||||
messages:
|
||||
post_deleted: Această postare a fost ștearsă.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: Această postare a fost fixată.
|
||||
post_unpin: Această postare nu a fost fixată.
|
||||
post_hide_list: Această postare a fost ascunsă din listă.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+513
-283
File diff suppressed because it is too large
Load Diff
+273
-46
@@ -57,6 +57,8 @@ backend:
|
||||
other: Edit
|
||||
undelete:
|
||||
other: Undelete
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: Heslo
|
||||
pass:
|
||||
other: Password
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: This post
|
||||
email_or_password_wrong_error:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: Žiadne povolenie na aktualizáciu.
|
||||
question_closed_cannot_add:
|
||||
other: Questions are closed and cannot be added.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Komentár nie je dovolené upravovať.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: Komentár sa nenašiel.
|
||||
cannot_edit_after_deadline:
|
||||
other: Čas na úpravu komentára bol príliš dlhý.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: E-mail už existuje.
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: Žiadne povolenie na uzavretie.
|
||||
cannot_update:
|
||||
other: Žiadne povolenie na aktualizáciu.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Reputation rank fail to meet the condition.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: You cannot delete a tag that is in use.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: Synonymum aktuálnej značky nemôžete nastaviť ako samotnú.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: The from name cannot be a email address.
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "Error {{.Field}} format near '{{.Content}}' at line {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "The number of users you add at once should be in the range of 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Read Config zlyhal
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: rude or abusive
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: a duplicate
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: not an answer
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: no longer needed
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: potrebuje podrobnosti alebo jasnosť
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: niečo iné
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new email address"
|
||||
body:
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} answered your question"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} invited you to answer"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} commented on your post"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] New question: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Password reset"
|
||||
body:
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new account"
|
||||
body:
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test Email"
|
||||
body:
|
||||
other: "This is a test email."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: upvote
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: Ako formátovať
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">na vytváranie odkazov</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">vracať medzi odsekmi</p></li><li><p class="mb-2"><em>_italic_</em> alebo **<strong>tučné</strong>**</p></li><li><p class="mb-2">odsadenie kódu o 4 medzery</p></li><li><p class="mb-2">citát umiestnením <code>></code> na začiatku riadku</p></li><li><p class="mb-2">backtick uniká <code>`ako _this_`</code></p></li><li><p class="mb-2">vytvorte kódové ploty s <code>`</code></p><pre class="mb-0"><code>```<br/>kódom tu<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: Predch
|
||||
next: Ďalšie
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: značka wiki
|
||||
create_tag: Vytvoriť štítok
|
||||
edit_tag: Upraviť značku
|
||||
ask_a_question: Pridať otázku
|
||||
ask_a_question: Create Question
|
||||
edit_question: Úpraviť otázku
|
||||
edit_answer: Úpraviť odpoveť
|
||||
search: Vyhľadávanie
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: HTTP chyba 403
|
||||
http_403: HTTP Error 403
|
||||
logout: Log Out
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: Oznámenia
|
||||
inbox: Doručená pošta
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: Názov súboru nemôže byť prázdny.
|
||||
only_image: Povolené sú iba obrázkové súbory.
|
||||
max_size: File size cannot exceed 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Popis
|
||||
tab_url: URL obrázka
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Table
|
||||
heading: Heading
|
||||
cell: Bunka
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: Tento príspevok uzatváram ako...
|
||||
btn_cancel: Zrušiť
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Naozaj chcete odstrániť?
|
||||
close: Zavrieť
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Upraviť značku
|
||||
default_reason: Upraviť značku
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: deň
|
||||
hours: hours
|
||||
days: days
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Filtrujte podľa názvu značky
|
||||
no_desc: Značka nemá popis.
|
||||
more: Viac
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Pridať otázku
|
||||
title: Create Question
|
||||
edit_title: Upraviť otázku
|
||||
default_reason: Upraviť otázku
|
||||
default_first_reason: Add question
|
||||
default_first_reason: Create question
|
||||
similar_questions: Podobné otázky
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Revízia
|
||||
title:
|
||||
label: Názov
|
||||
placeholder: Buďte konkrétni a predstavte si, že kladiete otázku inej osobe
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Názov nemôže byť prázdny.
|
||||
range: Názov do 150 znakov
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Telo
|
||||
msg:
|
||||
empty: Telo nemôže byť prázdne.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Značky --
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Pridať značku
|
||||
create_btn: Vytvoriť novú značku
|
||||
search_tag: Vyhľadať značku --
|
||||
hint: "Popíšte, čoho sa vaša otázka týka, vyžaduje sa aspoň jedna značka."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: Nezodpovedajú žiadne značky
|
||||
tag_required_text: Povinný štítok (aspoň jeden)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Vyhľadávanie
|
||||
footer:
|
||||
build_on: >-
|
||||
Powered by <1> Apache Answer </1>- the open-source software that powers Q&A communities.<br />Made with love © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Zmena
|
||||
loading: načítavanie...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Prihlasovacie meno
|
||||
msg:
|
||||
empty: Prihlasovacie meno nemôže byť prázdne.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: E-mail
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Zobrazované meno nemôže byť prázdne.
|
||||
msg_range: Zobrazované meno nesmie mať viac ako 30 znakov.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Užívateľské meno
|
||||
caption: Ľudia vás môžu spomenúť ako „@používateľské meno“.
|
||||
msg: Užívateľské meno nemôže byť prázdne.
|
||||
msg_range: Používateľské meno nesmie mať viac ako 30 znakov.
|
||||
character: 'Musíte použiť znakovú sadu "a-z", "0-9", "- . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile image
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Vaša revízia sa zobrazí po preskúmaní.
|
||||
sent_success: Sent successfully
|
||||
related_question:
|
||||
title: Súvisiace otázky
|
||||
title: Related
|
||||
answers: odpovede
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: People Asked
|
||||
desc: Select people who you think might know the answer.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Search people
|
||||
question_detail:
|
||||
action: Action
|
||||
created: Created
|
||||
Asked: Opýtané
|
||||
asked: opýtané
|
||||
update: Aktualizované
|
||||
Edited: Edited
|
||||
edit: upravené
|
||||
commented: commented
|
||||
Views: Videné
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Registrovať sa
|
||||
logout: Odhlásiť sa
|
||||
verify: Preveriť
|
||||
add_question: Pridať otázku
|
||||
create: Create
|
||||
approve: Schváliť
|
||||
reject: Odmietnuť
|
||||
skip: Preskočiť
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Výsledky vyhľadávania
|
||||
keywords: Kľúčové slová
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Sledovať
|
||||
following: Sledované
|
||||
counts: "{{count}} výsledky"
|
||||
counts_loading: "... Results"
|
||||
more: Viac
|
||||
sort_btns:
|
||||
relevance: Relevantnosť
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Zdieľajte príspevok cez...
|
||||
copied: Skopírované
|
||||
facebook: Zdieľať na Facebooku
|
||||
twitter: Zdieľať na Twitteri
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post.
|
||||
modal_confirm:
|
||||
title: Chyba...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Váš nový účet je potvrdený; Budete presmerovaný na domovskú stránku.
|
||||
link: Pokračovať na domovskú stránku
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: Všetky otázky
|
||||
x_questions: "{{ count }} otázky/otázok"
|
||||
x_answers: "{{ count }} odpovede/odpovedí"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Otázky
|
||||
answers: Odpovede
|
||||
newest: Najnovšie
|
||||
active: Aktívne
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Skóre
|
||||
unanswered: Nezodpovedané
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Najlepšie otázky
|
||||
stats: Štatistiky
|
||||
list_empty: Nenašli sa žiadne príspevky.<br />Možno by ste chceli vybrať inú kartu?
|
||||
content_empty: No posts found.
|
||||
accepted: Prijaté
|
||||
answered: zodpovedané
|
||||
asked: opýtané
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Database file
|
||||
placeholder: /data/answer.db
|
||||
msg: Database file cannot be empty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Vytvoriť config.yaml
|
||||
label: Vytvorený súbor Config.yaml.
|
||||
@@ -1632,7 +1717,7 @@ ui:
|
||||
label: Meno
|
||||
msg: Meno nemôže byť prázdne.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Heslo
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Heslo nemôže byť prázdne.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: E-mail
|
||||
text: Na prihlásenie budete potrebovať tento e-mail.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Budovanie značky
|
||||
legal: legálne
|
||||
write: písať
|
||||
terms: Terms
|
||||
tos: Podmienky služby
|
||||
privacy: Súkromie
|
||||
seo: SEO
|
||||
customize: Prispôsobiť
|
||||
themes: Témy
|
||||
css_html: CSS/HTML
|
||||
login: Prihlásiť sa
|
||||
privileges: Privileges
|
||||
plugins: Plugins
|
||||
installed_plugins: Installed Plugins
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Welcome to {{site_name}}
|
||||
user_center:
|
||||
login: Login
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "Otázky:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Odpovede:"
|
||||
comments: "Komentáre:"
|
||||
votes: "Hlasy:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Please enter the user's email, one per line."
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Meno
|
||||
email: E-mail
|
||||
reputation: Reputácia
|
||||
created_at: Čas vytvorenia
|
||||
delete_at: Čas vymazania
|
||||
suspend_at: Čas pozastavenia
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Stav
|
||||
role: Rola
|
||||
action: Akcia
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspend this user
|
||||
content: A suspended user can't log in.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Otázky
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Časové pásmo
|
||||
msg: Časové pásmo nemôže byť prázdne.
|
||||
text: Vyberte si mesto v rovnakom časovom pásme ako vy.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Privacy policy
|
||||
text: "Tu môžete pridať obsah zásad ochrany osobných údajov. Ak už máte dokument umiestnený inde, uveďte tu celú URL adresu."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Písať
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for each question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Upraviť farby používané vašími motívmi
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS a HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (voliteľné)
|
||||
empty: nemôže byť prázdne
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Naozaj chcete zahodiť svoj koncept?
|
||||
messages:
|
||||
post_deleted: Tento príspevok bol odstránený.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+4
-6
@@ -612,7 +612,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -677,7 +677,7 @@ ui:
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -819,7 +819,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1123,7 +1123,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: display_name must be at 4 - 30 characters in length.
|
||||
msg: display_name must be at 2 - 30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1369,5 +1369,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+6
-8
@@ -619,7 +619,7 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Name must between 4 to 30 characters in length.
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
@@ -678,13 +678,13 @@ ui:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile Image
|
||||
gravatar: Gravatar
|
||||
@@ -827,7 +827,7 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
@@ -1136,7 +1136,7 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display Name
|
||||
msg: Display Name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1382,5 +1382,3 @@ ui:
|
||||
staffs: Our community staff
|
||||
reputation: reputation
|
||||
votes: votes
|
||||
|
||||
|
||||
|
||||
+361
-134
File diff suppressed because it is too large
Load Diff
+273
-46
@@ -57,6 +57,8 @@ backend:
|
||||
other: Edit
|
||||
undelete:
|
||||
other: Undelete
|
||||
merge:
|
||||
other: Merge
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: Password
|
||||
pass:
|
||||
other: Password
|
||||
old_pass:
|
||||
other: Current password
|
||||
original_text:
|
||||
other: This post
|
||||
email_or_password_wrong_error:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: No permission to update.
|
||||
question_closed_cannot_add:
|
||||
other: Questions are closed and cannot be added.
|
||||
content_cannot_empty:
|
||||
other: Answer content cannot be empty.
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: Comment are not allowed to edit.
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: Comment not found.
|
||||
cannot_edit_after_deadline:
|
||||
other: The comment time has been too long to modify.
|
||||
content_cannot_empty:
|
||||
other: Comment content cannot be empty.
|
||||
email:
|
||||
duplicate:
|
||||
other: Email already exists.
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: No permission to close.
|
||||
cannot_update:
|
||||
other: No permission to update.
|
||||
content_cannot_empty:
|
||||
other: Content cannot be empty.
|
||||
content_less_than_minimum:
|
||||
other: Not enough content entered.
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: Reputation rank fail to meet the condition.
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: You cannot delete a tag that is in use.
|
||||
cannot_set_synonym_as_itself:
|
||||
other: You cannot set the synonym of the current tag as itself.
|
||||
minimum_count:
|
||||
other: Not enough tags were entered.
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: The from name cannot be a email address.
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "Error {{.Field}} format near '{{.Content}}' at line {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "The number of users you add at once should be in the range of 1-{{.MaxAmount}}."
|
||||
status_suspended_forever:
|
||||
other: "<strong>This user was suspended forever.</strong> This user doesn't meet a community guideline."
|
||||
status_suspended_until:
|
||||
other: "<strong>This user was suspended until {{.SuspendedUntil}}.</strong> This user doesn't meet a community guideline."
|
||||
status_deleted:
|
||||
other: "This user was deleted."
|
||||
status_inactive:
|
||||
other: "This user is inactive."
|
||||
config:
|
||||
read_config_failed:
|
||||
other: Read config failed
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: rude or abusive
|
||||
desc:
|
||||
other:
|
||||
- A reasonable person would find this content inappropriate for respectful
|
||||
- discourse.
|
||||
other: "A reasonable person would find this content inappropriate for respectful discourse."
|
||||
a_duplicate:
|
||||
name:
|
||||
other: a duplicate
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: not an answer
|
||||
desc:
|
||||
other:
|
||||
- This was posted as an answer, but it does not attempt to answer the
|
||||
- question. It should possibly be an edit, a comment, another question,
|
||||
- or deleted altogether.
|
||||
other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question,or deleted altogether."
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: no longer needed
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: needs details or clarity
|
||||
desc:
|
||||
other:
|
||||
- This question currently includes multiple questions in one. It should
|
||||
- focus on one problem only.
|
||||
other: This question currently includes multiple questions in one. It should focus on one problem only.
|
||||
other:
|
||||
name:
|
||||
other: something else
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new email address"
|
||||
body:
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.\n"
|
||||
other: "Confirm your new email address for {{.SiteName}} by clicking on the following link:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\nIf you did not request this change, please ignore this email.<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} answered your question"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} invited you to answer"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>I think you may know the answer.</blockquote><br>\n<a href='{{.InviteUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} commented on your post"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>View it on {{.SiteName}}</a><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] New question: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen.<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>Unsubscribe</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] Password reset"
|
||||
body:
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "Somebody asked to reset your password on {{.SiteName}}.<br><br>\n\nIf it was not you, you can safely ignore this email.<br><br>\n\nClick the following link to choose a new password:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Confirm your new account"
|
||||
body:
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n"
|
||||
other: "Welcome to {{.SiteName}}!<br><br>\n\nClick the following link to confirm and activate your new account:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\nIf the above link is not clickable, try copying and pasting it into the address bar of your web browser.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] Test Email"
|
||||
body:
|
||||
other: "This is a test email."
|
||||
other: "This is a test email.\n<br><br>\n\n--<br>\nNote: This is an automatic system email, please do not reply to this message as your response will not be seen."
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: upvote
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: First Link
|
||||
desc:
|
||||
other: First dirst added a link to another post.
|
||||
other: First added a link to another post.
|
||||
first_reaction:
|
||||
name:
|
||||
other: First Reaction
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: How to Format
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">mention a post: <code>#post_id</code></p></li> <li><p class="mb-2">to make links</p><pre class="mb-2"><code><https://url.com><br/><br/>[Title](https://url.com)</code></pre></li><li><p class="mb-2">put returns between paragraphs</p></li><li><p class="mb-2"><em>_italic_</em> or **<strong>bold</strong>**</p></li><li><p class="mb-2">indent code by 4 spaces</p></li><li><p class="mb-2">quote by placing <code>></code> at start of line</p></li><li><p class="mb-2">backtick escapes <code>`like _this_`</code></p></li><li><p class="mb-2">create code fences with backticks <code>`</code></p><pre class="mb-0"><code>```<br/>code here<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: మునుపటి
|
||||
next: Next
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: tag wiki
|
||||
create_tag: ట్యాగ్ని సృష్టించండి
|
||||
edit_tag: ట్యాగ్ని సవరించండి
|
||||
ask_a_question: Add Question
|
||||
ask_a_question: Create Question
|
||||
edit_question: ప్రశ్నను సవరించండి
|
||||
edit_answer: సమాధానాన్ని సవరించండి
|
||||
search: Search
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: HTTP Error 500
|
||||
http_403: HTTP Error 403
|
||||
logout: Log Out
|
||||
posts: Posts
|
||||
ai_assistant: AI Assistant
|
||||
ai_assistant:
|
||||
description: Got a question? Ask it and get answers, perspectives, and recommendations.
|
||||
recent_conversations: Recent Conversations
|
||||
show_more: Show more
|
||||
new: New chat
|
||||
ai_generate: AI-generated from posts and may not be accurate.
|
||||
copy: Copy
|
||||
ask_a_follow_up: Ask a follow-up
|
||||
ask_placeholder: Ask a question
|
||||
notifications:
|
||||
title: నోటిఫికేషన్లు
|
||||
inbox: ఇన్బాక్స్
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: File cannot be empty.
|
||||
only_image: Only image files are allowed.
|
||||
max_size: File size cannot exceed 4 MB.
|
||||
max_size: File size cannot exceed {{size}} MB.
|
||||
desc:
|
||||
label: Description
|
||||
tab_url: Image URL
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: Table
|
||||
heading: Heading
|
||||
cell: Cell
|
||||
file:
|
||||
text: Attach files
|
||||
not_supported: "Don’t support that file type. Try again with {{file_type}}."
|
||||
max_size: "Attach files size cannot exceed {{size}} MB."
|
||||
close_modal:
|
||||
title: I am closing this post as...
|
||||
btn_cancel: Cancel
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>We do not allow <strong>deleting tag with synonyms</strong>.</p> <p>Please remove the synonyms from this tag first.</p>
|
||||
tip: Are you sure you wish to delete?
|
||||
close: Close
|
||||
merge:
|
||||
title: Merge tag
|
||||
source_tag_title: Source tag
|
||||
source_tag_description: The source tag and its associated data will be remapped to the target tag.
|
||||
target_tag_title: Target tag
|
||||
target_tag_description: A synonym between these two tags will be created after merging.
|
||||
no_results: No tags matched
|
||||
btn_submit: Submit
|
||||
btn_close: Close
|
||||
edit_tag:
|
||||
title: Edit Tag
|
||||
default_reason: Edit tag
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: day
|
||||
hours: hours
|
||||
days: days
|
||||
month: month
|
||||
months: months
|
||||
year: year
|
||||
reaction:
|
||||
heart: heart
|
||||
smile: smile
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: Filter by tag name
|
||||
no_desc: The tag has no description.
|
||||
more: More
|
||||
wiki: Wiki
|
||||
ask:
|
||||
title: Add Question
|
||||
title: Create Question
|
||||
edit_title: Edit Question
|
||||
default_reason: Edit question
|
||||
default_first_reason: Add question
|
||||
default_first_reason: Create question
|
||||
similar_questions: Similar questions
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: Revision
|
||||
title:
|
||||
label: Title
|
||||
placeholder: Be specific and imagine you're asking a question to another person
|
||||
placeholder: What's your topic? Be specific.
|
||||
msg:
|
||||
empty: Title cannot be empty.
|
||||
range: Title up to 150 characters
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: Body
|
||||
msg:
|
||||
empty: Body cannot be empty.
|
||||
hint:
|
||||
optional_body: Describe what the question is about.
|
||||
minimum_characters: "Describe what the question is about, at least {{min_content_length}} characters are required."
|
||||
tags:
|
||||
label: Tags
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: Add tag
|
||||
create_btn: Create new tag
|
||||
search_tag: Search tag
|
||||
hint: "Describe what your question is about, at least one tag is required."
|
||||
hint: Describe what your content is about, at least one tag is required.
|
||||
hint_zero_tags: Describe what your content is about.
|
||||
hint_more_than_one_tag: "Describe what your content is about, at least {{min_tags_number}} tags are required."
|
||||
no_result: No tags matched
|
||||
tag_required_text: Required tag (at least one)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: Search
|
||||
footer:
|
||||
build_on: >-
|
||||
Powered by <1> Apache Answer </1>- the open-source software that powers Q&A communities.<br />Made with love © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: Change
|
||||
loading: loading...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: Name
|
||||
msg:
|
||||
empty: Name cannot be empty.
|
||||
range: Length of name should between 4 to 30 characters.
|
||||
character: 'Must use the character set "a-z", "A-Z", "0-9", " - . _"'
|
||||
range: Name must be between 2 to 30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
email:
|
||||
label: Email
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name cannot be empty.
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
caption: People can mention you as "@username".
|
||||
msg: Username cannot be empty.
|
||||
msg_range: Username up to 30 characters.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
character: 'Must use the character set "a-z", "0-9", "- . _"'
|
||||
avatar:
|
||||
label: Profile image
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: Your revision will show after review.
|
||||
sent_success: Sent successfully
|
||||
related_question:
|
||||
title: Related Questions
|
||||
title: Related
|
||||
answers: answers
|
||||
linked_question:
|
||||
title: Linked
|
||||
description: Posts linked to
|
||||
no_linked_question: No contents linked from this content.
|
||||
invite_to_answer:
|
||||
title: People Asked
|
||||
desc: Select people who you think might know the answer.
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: Search people
|
||||
question_detail:
|
||||
action: Action
|
||||
created: Created
|
||||
Asked: Asked
|
||||
asked: asked
|
||||
update: Modified
|
||||
Edited: Edited
|
||||
edit: edited
|
||||
commented: commented
|
||||
Views: Viewed
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: Sign up
|
||||
logout: Log out
|
||||
verify: Verify
|
||||
add_question: Add question
|
||||
create: Create
|
||||
approve: Approve
|
||||
reject: Reject
|
||||
skip: Skip
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: Normal
|
||||
closed: Closed
|
||||
deleted: Deleted
|
||||
deleted_permanently: Deleted permanently
|
||||
pending: Pending
|
||||
more: More
|
||||
view: View
|
||||
card: Card
|
||||
compact: Compact
|
||||
display_below: Display below
|
||||
always_display: Always display
|
||||
or: or
|
||||
back_sites: Back to sites
|
||||
search:
|
||||
title: Search Results
|
||||
keywords: Keywords
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: Follow
|
||||
following: Following
|
||||
counts: "{{count}} Results"
|
||||
counts_loading: "... Results"
|
||||
more: More
|
||||
sort_btns:
|
||||
relevance: Relevance
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: Share post via...
|
||||
copied: Copied
|
||||
facebook: Share to Facebook
|
||||
twitter: Share to Twitter
|
||||
twitter: Share to X
|
||||
cannot_vote_for_self: You can't vote for your own post.
|
||||
modal_confirm:
|
||||
title: Error...
|
||||
delete_permanently:
|
||||
title: Delete permanently
|
||||
content: Are you sure you want to delete permanently?
|
||||
account_result:
|
||||
success: Your new account is confirmed; you will be redirected to the home page.
|
||||
link: Continue to homepage
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: All Questions
|
||||
x_questions: "{{ count }} Questions"
|
||||
x_answers: "{{ count }} answers"
|
||||
x_posts: "{{ count }} Posts"
|
||||
questions: Questions
|
||||
answers: Answers
|
||||
newest: Newest
|
||||
active: Active
|
||||
hot: Hot
|
||||
frequent: Frequent
|
||||
recommend: Recommend
|
||||
score: Score
|
||||
unanswered: Unanswered
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: Top Questions
|
||||
stats: Stats
|
||||
list_empty: No posts found.<br />Perhaps you'd like to select a different tab?
|
||||
content_empty: No posts found.
|
||||
accepted: Accepted
|
||||
answered: answered
|
||||
asked: asked
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: Database file
|
||||
placeholder: /data/answer.db
|
||||
msg: Database file cannot be empty.
|
||||
ssl_enabled:
|
||||
label: Enable SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL Mode
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert file path
|
||||
msg: Path to sslrootcert file cannot be empty
|
||||
ssl_cert:
|
||||
placeholder: sslcert file path
|
||||
msg: Path to sslcert file cannot be empty
|
||||
ssl_key:
|
||||
placeholder: sslkey file path
|
||||
msg: Path to sslkey file cannot be empty
|
||||
config_yaml:
|
||||
title: Create config.yaml
|
||||
label: The config.yaml file created.
|
||||
@@ -1632,7 +1717,7 @@ ui:
|
||||
label: Name
|
||||
msg: Name cannot be empty.
|
||||
character: 'Must use the character set "a-z", "0-9", " - . _"'
|
||||
msg_max_length: Name must be at maximum 30 characters in length.
|
||||
msg_max_length: Name must be between 2 to 30 characters in length.
|
||||
admin_password:
|
||||
label: Password
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: Password cannot be empty.
|
||||
msg_min_length: Password must be at least 8 characters in length.
|
||||
msg_max_length: Password must be at maximum 32 characters in length.
|
||||
admin_confirm_password:
|
||||
label: "Confirm Password"
|
||||
text: "Please re-enter your password to confirm."
|
||||
msg: "Confirm password does not match."
|
||||
admin_email:
|
||||
label: Email
|
||||
text: You will need this email to log in.
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: Branding
|
||||
legal: Legal
|
||||
write: Write
|
||||
terms: Terms
|
||||
tos: Terms of Service
|
||||
privacy: Privacy
|
||||
seo: SEO
|
||||
customize: Customize
|
||||
themes: Themes
|
||||
css_html: CSS/HTML
|
||||
login: Login
|
||||
privileges: Privileges
|
||||
plugins: Plugins
|
||||
installed_plugins: Installed Plugins
|
||||
apperance: Appearance
|
||||
community: Community
|
||||
advanced: Advanced
|
||||
tags: Tags
|
||||
rules: Rules
|
||||
policies: Policies
|
||||
security: Security
|
||||
files: Files
|
||||
apikeys: API Keys
|
||||
intelligence: Intelligence
|
||||
ai_assistant: AI Assistant
|
||||
ai_settings: AI Settings
|
||||
mcp: MCP
|
||||
website_welcome: Welcome to {{site_name}}
|
||||
user_center:
|
||||
login: Login
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: Welcome to Admin!
|
||||
site_statistics: Site statistics
|
||||
questions: "Questions:"
|
||||
resolved: "Resolved:"
|
||||
unanswered: "Unanswered:"
|
||||
answers: "Answers:"
|
||||
comments: "Comments:"
|
||||
votes: "Votes:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: Display name
|
||||
msg_range: Display name up to 30 characters.
|
||||
msg_range: Display name must be 2-30 characters in length.
|
||||
username:
|
||||
label: Username
|
||||
msg_range: Username up to 30 characters.
|
||||
msg_range: Username must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg_invalid: Invalid Email Address.
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "Please enter the user's email, one per line."
|
||||
display_name:
|
||||
label: Display name
|
||||
msg: Display name must be at 4-30 characters in length.
|
||||
msg: Display name must be 2-30 characters in length.
|
||||
email:
|
||||
label: Email
|
||||
msg: Email is not valid.
|
||||
@@ -1830,9 +1934,10 @@ ui:
|
||||
name: Name
|
||||
email: Email
|
||||
reputation: Reputation
|
||||
created_at: Created Time
|
||||
delete_at: Deleted Time
|
||||
suspend_at: Suspended Time
|
||||
created_at: Created time
|
||||
delete_at: Deleted time
|
||||
suspend_at: Suspended time
|
||||
suspend_until: Suspend until
|
||||
status: Status
|
||||
role: Role
|
||||
action: Action
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: Suspend this user
|
||||
content: A suspended user can't log in.
|
||||
label: How long will the user be suspended for?
|
||||
forever: Forever
|
||||
questions:
|
||||
page_title: Questions
|
||||
unlisted: Unlisted
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: Timezone
|
||||
msg: Timezone cannot be empty.
|
||||
text: Choose a city in the same timezone as you.
|
||||
avatar:
|
||||
label: Default avatar
|
||||
text: For users without a custom avatar of their own.
|
||||
gravatar_base_url:
|
||||
label: Gravatar base URL
|
||||
text: URL of the Gravatar provider's API base. Ignored when empty.
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: Privacy policy
|
||||
text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here."
|
||||
external_content_display:
|
||||
label: External content
|
||||
text: "Content includes images, videos, and media embedded from external websites."
|
||||
always_display: Always display external content
|
||||
ask_before_display: Ask before displaying external content
|
||||
write:
|
||||
page_title: Write
|
||||
page_title: Files
|
||||
min_content:
|
||||
label: Minimum question body length
|
||||
text: Minimum allowed question body length in characters.
|
||||
restrict_answer:
|
||||
title: Answer write
|
||||
label: Each user can only write one answer for each question
|
||||
text: "Turn off to allow users to write multiple answers to the same question, which may cause answers to be unfocused."
|
||||
min_tags:
|
||||
label: "Minimum tags per question"
|
||||
text: "Minimum number of tags required in a question."
|
||||
recommend_tags:
|
||||
label: Recommend tags
|
||||
text: "Recommend tags will show in the dropdown list by default."
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: Reserved tags
|
||||
text: "Reserved tags can only be used by moderator."
|
||||
image_size:
|
||||
label: Max image size (MB)
|
||||
text: "The maximum image upload size."
|
||||
attachment_size:
|
||||
label: Max attachment size (MB)
|
||||
text: "The maximum attachment files upload size."
|
||||
image_megapixels:
|
||||
label: Max image megapixels
|
||||
text: "Maximum number of megapixels allowed for an image."
|
||||
image_extensions:
|
||||
label: Authorized image extensions
|
||||
text: "A list of file extensions allowed for image display, separate with commas."
|
||||
attachment_extensions:
|
||||
label: Authorized attachment extensions
|
||||
text: "A list of file extensions allowed for upload, separate with commas. WARNING: Allowing uploads may cause security issues."
|
||||
seo:
|
||||
page_title: SEO
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: Color scheme
|
||||
navbar_style:
|
||||
label: Navbar style
|
||||
label: Navbar background style
|
||||
primary_color:
|
||||
label: Primary color
|
||||
text: Modify the colors used by your themes
|
||||
layout:
|
||||
label: Layout
|
||||
full_width: Full-width
|
||||
fixed_width: Fixed-width
|
||||
css_and_html:
|
||||
page_title: CSS and HTML
|
||||
custom_css:
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: Show logs
|
||||
status: Status
|
||||
title: Badges
|
||||
apikeys:
|
||||
title: API Keys
|
||||
add_api_key: Add API Key
|
||||
desc: Description
|
||||
scope: Scope
|
||||
key: Key
|
||||
created: Created
|
||||
last_used: Last used
|
||||
add_or_edit_modal:
|
||||
add_title: Add API Key
|
||||
edit_title: Edit API Key
|
||||
description: Description
|
||||
description_required: Description is required.
|
||||
scope: Scope
|
||||
global: Global
|
||||
read-only: Read-only
|
||||
created_modal:
|
||||
title: API key created
|
||||
api_key: API key
|
||||
description: This key will not be displayed again. Make sure you take a copy before continuing.
|
||||
delete_modal:
|
||||
title: Delete API Key
|
||||
content: Any applications or scripts using this key will no longer be able to access the API. This is permanent!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI enabled
|
||||
check: Enable AI features
|
||||
text: The AI model must be configured correctly before it can be used.
|
||||
provider:
|
||||
label: Provider
|
||||
api_host:
|
||||
label: API host
|
||||
msg: API host is required
|
||||
api_key:
|
||||
label: API key
|
||||
check: Check
|
||||
check_success: "Connection successful."
|
||||
msg: API key is required
|
||||
model:
|
||||
label: Model
|
||||
msg: Model is required
|
||||
add_success: AI settings updated successfully.
|
||||
conversations:
|
||||
topic: Topic
|
||||
helpful: Helpful
|
||||
unhelpful: Unhelpful
|
||||
created: Created
|
||||
action: Action
|
||||
empty: No conversations found.
|
||||
delete_modal:
|
||||
title: Delete conversation
|
||||
content: Are you sure you want to delete this conversation? This is permanent!
|
||||
delete_success: Conversation deleted successfully.
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP server
|
||||
switch: Enabled
|
||||
type:
|
||||
label: Type
|
||||
url:
|
||||
label: URL
|
||||
http_header:
|
||||
label: HTTP header
|
||||
text: Please replace {key} with the API Key.
|
||||
form:
|
||||
optional: (optional)
|
||||
empty: cannot be empty
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: Are you sure you want to discard your draft?
|
||||
messages:
|
||||
post_deleted: This post has been deleted.
|
||||
post_cancel_deleted: This post has been undeleted.
|
||||
post_pin: This post has been pinned.
|
||||
post_unpin: This post has been unpinned.
|
||||
post_hide_list: This post has been hidden from list.
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: This post has been listed.
|
||||
post_unlist: This post has been unlisted.
|
||||
post_pending: Your post is awaiting review. This is a preview, it will be visible after it has been approved.
|
||||
post_closed: This post has been closed.
|
||||
answer_deleted: This answer has been deleted.
|
||||
answer_cancel_deleted: This answer has been undeleted.
|
||||
change_user_role: This user's role has been changed.
|
||||
user_inactive: This user is already inactive.
|
||||
user_normal: This user is already normal.
|
||||
user_suspended: This user has been suspended.
|
||||
user_deleted: This user has been deleted.
|
||||
user_added: User has been added successfully.
|
||||
badge_activated: This badge has been activated.
|
||||
badge_inactivated: This badge has been inactivated.
|
||||
users_deleted: These users have been deleted.
|
||||
posts_deleted: These questions have been deleted.
|
||||
answers_deleted: These answers have been deleted.
|
||||
copy: Copy to clipboard
|
||||
copied: Copied
|
||||
external_content_warning: External images/media are not displayed.
|
||||
|
||||
|
||||
|
||||
+1599
-1372
File diff suppressed because it is too large
Load Diff
+911
-684
File diff suppressed because it is too large
Load Diff
+429
-202
File diff suppressed because it is too large
Load Diff
+281
-54
@@ -57,6 +57,8 @@ backend:
|
||||
other: 编辑
|
||||
undelete:
|
||||
other: 撤消删除
|
||||
merge:
|
||||
other: 合并
|
||||
role:
|
||||
name:
|
||||
user:
|
||||
@@ -137,6 +139,8 @@ backend:
|
||||
other: 密码
|
||||
pass:
|
||||
other: 密码
|
||||
old_pass:
|
||||
other: 当前密码
|
||||
original_text:
|
||||
other: 本帖
|
||||
email_or_password_wrong_error:
|
||||
@@ -168,6 +172,8 @@ backend:
|
||||
other: 没有更新权限。
|
||||
question_closed_cannot_add:
|
||||
other: 问题已关闭,无法添加。
|
||||
content_cannot_empty:
|
||||
other: 回答内容不能为空。
|
||||
comment:
|
||||
edit_without_permission:
|
||||
other: 不允许编辑评论。
|
||||
@@ -175,6 +181,8 @@ backend:
|
||||
other: 评论未找到。
|
||||
cannot_edit_after_deadline:
|
||||
other: 评论时间太久,无法修改。
|
||||
content_cannot_empty:
|
||||
other: 评论内容不能为空。
|
||||
email:
|
||||
duplicate:
|
||||
other: 邮箱已存在。
|
||||
@@ -224,6 +232,10 @@ backend:
|
||||
other: 没有关闭权限。
|
||||
cannot_update:
|
||||
other: 没有更新权限。
|
||||
content_cannot_empty:
|
||||
other: 内容不能为空。
|
||||
content_less_than_minimum:
|
||||
other: 输入的内容不足。
|
||||
rank:
|
||||
fail_to_meet_the_condition:
|
||||
other: 声望值未达到要求。
|
||||
@@ -253,6 +265,8 @@ backend:
|
||||
other: 你不能删除这个正在使用的标签。
|
||||
cannot_set_synonym_as_itself:
|
||||
other: 你不能将当前标签设为自己的同义词。
|
||||
minimum_count:
|
||||
other: 没有输入足够的标签。
|
||||
smtp:
|
||||
config_from_name_cannot_be_email:
|
||||
other: 发件人名称不能是邮箱地址。
|
||||
@@ -296,6 +310,14 @@ backend:
|
||||
other: "发生错误,{{.Field}} 格式错误,在 '{{.Content}}' 行数 {{.Line}}. {{.ExtraMessage}}"
|
||||
add_bulk_users_amount_error:
|
||||
other: "一次性添加的用户数量应在 1-{{.MaxAmount}} 之间。"
|
||||
status_suspended_forever:
|
||||
other: "<strong>该用户已被永久封禁。</strong>该用户不符合社区准则。"
|
||||
status_suspended_until:
|
||||
other: "<strong>该用户已被封禁至 {{.SuspendedUntil}}。</strong>该用户不符合社区准则。"
|
||||
status_deleted:
|
||||
other: "该用户已被删除。"
|
||||
status_inactive:
|
||||
other: "该用户未激活。"
|
||||
config:
|
||||
read_config_failed:
|
||||
other: 读取配置失败
|
||||
@@ -326,9 +348,7 @@ backend:
|
||||
name:
|
||||
other: 粗鲁或辱骂的
|
||||
desc:
|
||||
other:
|
||||
- 一个有理智的人都会认为这种内容不适合进行尊重性的讨论。
|
||||
- 论坛
|
||||
other: "一个有理智的人都会认为这种内容不适合进行尊重性的讨论。"
|
||||
a_duplicate:
|
||||
name:
|
||||
other: 重复内容
|
||||
@@ -340,10 +360,7 @@ backend:
|
||||
name:
|
||||
other: 不是答案
|
||||
desc:
|
||||
other:
|
||||
- 这张贴作为答案,但它不会试图回答
|
||||
- 这可能是一个编辑、一个评论、另一个问题。
|
||||
- 或全部删除。
|
||||
other: "该帖是作为答案发布的,但它并没有试图回答这个问题。总之,它可能应该是个编辑、评论、另一个问题或者需要被删除。"
|
||||
no_longer_needed:
|
||||
name:
|
||||
other: 不再需要
|
||||
@@ -402,9 +419,7 @@ backend:
|
||||
name:
|
||||
other: 需要细节或澄清
|
||||
desc:
|
||||
other:
|
||||
- 该问题目前涵盖多个问题。它应该侧重在一个问题上。
|
||||
- 只关注一个问题。
|
||||
other: 该问题目前涵盖多个问题。它应该只集中在一个问题上。
|
||||
other:
|
||||
name:
|
||||
other: 其他原因
|
||||
@@ -471,42 +486,42 @@ backend:
|
||||
title:
|
||||
other: "[{{.SiteName}}] 确认你的新邮箱地址"
|
||||
body:
|
||||
other: "请点击以下链接确认你在 {{.SiteName}} 上的新邮箱地址:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\n如果你没有请求此更改,请忽略此邮件。\n"
|
||||
other: "请点击以下链接确认你在 {{.SiteName}} 上的新邮箱地址:<br>\n<a href='{{.ChangeEmailUrl}}' target='_blank'>{{.ChangeEmailUrl}}</a><br><br>\n\n如果你没有请求此更改,请忽略此邮件。\n\n--<br>\n这是系统自动发送的电子邮件,请勿回复,因为您的回复将不会被看到<br><br>"
|
||||
new_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} 回答了你的问题"
|
||||
body:
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>在 {{.SiteName}} 上查看</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
other: "<a href='{{.AnswerUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.AnswerSummary}}</blockquote><br>\n<a href='{{.AnswerUrl}}'>在 {{.SiteName}} 上查看</a><br><br>\n\n--<br>\n这是系统自动发送的电子邮件,请勿回复,因为您的回复将不会被看到<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
invited_you_to_answer:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} 邀请您回答问题"
|
||||
body:
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>我想你可能知道答案。</blockquote><br>\n<a href='{{.InviteUrl}}'>在 {{.SiteName}} 上查看</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
other: "<a href='{{.InviteUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>我想你可能知道答案。</blockquote><br>\n<a href='{{.InviteUrl}}'>在 {{.SiteName}} 上查看</a><br><br>\n\n--<br>\n这是系统自动发送的电子邮件,请勿回复,因为您的回复将不会被看到<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
new_comment:
|
||||
title:
|
||||
other: "[{{.SiteName}}] {{.DisplayName}} 评论了你的帖子"
|
||||
body:
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>在 {{.SiteName}} 上查看</a><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
other: "<a href='{{.CommentUrl}}'>{{.QuestionTitle}}</a><br><br>\n\n{{.DisplayName}}:<br>\n<blockquote>{{.CommentSummary}}</blockquote><br>\n<a href='{{.CommentUrl}}'>在 {{.SiteName}} 上查看</a><br><br>\n\n--<br>\n这是系统自动发送的电子邮件,请勿回复,因为您的回复将不会被看到<br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
new_question:
|
||||
title:
|
||||
other: "[{{.SiteName}}] 新问题: {{.QuestionTitle}}"
|
||||
body:
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
other: "<a href='{{.QuestionUrl}}'>{{.QuestionTitle}}</a><br><br>\n<small>{{.Tags}}</small><br><br>\n\n--<br>\n这是系统自动发送的电子邮件,请勿回复,因为您的回复将不会被看到 <br><br>\n\n<small><a href='{{.UnsubscribeUrl}}'>取消订阅</a></small>"
|
||||
pass_reset:
|
||||
title:
|
||||
other: "[{{.SiteName }}] 重置密码"
|
||||
body:
|
||||
other: "有人要求在 [{{.SiteName}}] 上重置你的密码。<br><br>\n\n如果这不是你的操作,请安心忽略此电子邮件。<br><br>\n\n请点击以下链接设置一个新密码:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n"
|
||||
other: "有人要求在 [{{.SiteName}}] 上重置你的密码。<br><br>\n\n如果这不是你的操作,请安心忽略此电子邮件。<br><br>\n\n请点击以下链接设置一个新密码:<br>\n<a href='{{.PassResetUrl}}' target='_blank'>{{.PassResetUrl}}</a>\n\n如果你没有请求此更改,请忽略此邮件。\n"
|
||||
register:
|
||||
title:
|
||||
other: "[{{.SiteName}}] 确认你的新账户"
|
||||
body:
|
||||
other: "欢迎加入 {{.SiteName}}!<br><br>\n\n请点击以下链接确认并激活你的新账户:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\n如果上面的链接不能点击,请将其复制并粘贴到你的浏览器地址栏中。\n"
|
||||
other: "欢迎加入 {{.SiteName}}!<br><br>\n\n请点击以下链接确认并激活你的新账户:<br>\n<a href='{{.RegisterUrl}}' target='_blank'>{{.RegisterUrl}}</a><br><br>\n\n如果上面的链接不能点击,请将其复制并粘贴到你的浏览器地址栏中。\n<br><br>\n\n--<br>\n这是系统自动发送的电子邮件,请勿回复,因为您的回复将不会被看到"
|
||||
test:
|
||||
title:
|
||||
other: "[{{.SiteName}}] 测试邮件"
|
||||
body:
|
||||
other: "这是一封测试邮件。"
|
||||
other: "这是测试电子邮件。\n<br><br>\n\n-<br>\n注意:这是一个自动的系统电子邮件, 请不要回复此消息,因为您的回复将不会被看到。"
|
||||
action_activity_type:
|
||||
upvote:
|
||||
other: 点赞
|
||||
@@ -563,7 +578,7 @@ backend:
|
||||
name:
|
||||
other: 第一个链接
|
||||
desc:
|
||||
other: 第一个脏添加了一个链接到另一个帖子。
|
||||
other: 第一次添加了一个链接到另一个帖子。
|
||||
first_reaction:
|
||||
name:
|
||||
other: 第一个响应
|
||||
@@ -623,17 +638,17 @@ backend:
|
||||
name:
|
||||
other: 失去爱好
|
||||
desc:
|
||||
other: 一天内使用了50张选票。
|
||||
other: 一天内使用了 50 个赞。
|
||||
higher_love:
|
||||
name:
|
||||
other: 更高的爱好
|
||||
desc:
|
||||
other: 一天内使用了50张选票。
|
||||
other: 一天内使用了 50 个赞 5 次。
|
||||
crazy_in_love:
|
||||
name:
|
||||
other: 爱情疯狂的
|
||||
desc:
|
||||
other: 在 20 天内使用了50张选票。
|
||||
other: 一天内使用了 50 个赞 20 次。
|
||||
promoter:
|
||||
name:
|
||||
other: 推荐人
|
||||
@@ -653,7 +668,7 @@ backend:
|
||||
name:
|
||||
other: 谢谢
|
||||
desc:
|
||||
other: 拥有20个投票赞成的职位并放弃了10个投票。
|
||||
other: 有 20 个赞成票的帖子,并投了 10 个赞成票。
|
||||
gives_back:
|
||||
name:
|
||||
other: 返回
|
||||
@@ -688,7 +703,7 @@ backend:
|
||||
name:
|
||||
other: 欣赏
|
||||
desc:
|
||||
other: 20个员额获得1次补票。
|
||||
other: 在 20 个帖子中获得 1个投票
|
||||
respected:
|
||||
name:
|
||||
other: 尊敬
|
||||
@@ -718,7 +733,7 @@ backend:
|
||||
name:
|
||||
other: 解决方案机构
|
||||
desc:
|
||||
other: 接受150份答复。
|
||||
other: 有150个答案被接受。
|
||||
nice_answer:
|
||||
name:
|
||||
other: 好答案
|
||||
@@ -753,17 +768,17 @@ backend:
|
||||
name:
|
||||
other: 热门问题
|
||||
desc:
|
||||
other: 问题有500个意见。
|
||||
other: 问题有 500 个浏览量。
|
||||
notable_question:
|
||||
name:
|
||||
other: 值得关注问题
|
||||
desc:
|
||||
other: 1 000个问题。
|
||||
other: 问题有 1,000 个浏览量。
|
||||
famous_question:
|
||||
name:
|
||||
other: 著名的问题
|
||||
desc:
|
||||
other: 问题有5,000个意见。
|
||||
other: 问题有 5,000 个浏览量。
|
||||
popular_link:
|
||||
name:
|
||||
other: 热门链接
|
||||
@@ -794,7 +809,7 @@ ui:
|
||||
how_to_format:
|
||||
title: 如何排版
|
||||
desc: >-
|
||||
<ul class="mb-0"><li><p class="mb-2">添加链接</p><pre class="mb-2"><code><https://url.com><br/><br/>[标题](https://url.com)</code></pre></li><li><p class="mb-2">段落之间使用空行分隔</p></li><li><p class="mb-2"><em>_斜体_</em> 或者 **<strong>粗体</strong>**</p></li><li><p class="mb-2">使用 4 个空格缩进代码</p></li><li><p class="mb-2">在行首添加 <code>></code> 表示引用</p></li><li><p class="mb-2">反引号进行转义 <code>`像 _这样_`</code></p></li><li><p class="mb-2">使用 <code>```</code> 创建代码块</p><pre class="mb-0"><code>```<br/>这是代码块<br/>```</code></pre></li></ul>
|
||||
<ul class="mb-0"><li><p class="mb-2">引用问题或答案: <code>#4</code></p></li><li><p class="mb-2">添加链接</p><pre class="mb-2"><code><https://url.com><br/><br/>[标题](https://url.com)</code></pre></li><li><p class="mb-2">段落之间使用空行分隔</p></li><li><p class="mb-2"><em>_斜体_</em> 或者 **<strong>粗体</strong>**</p></li><li><p class="mb-2">使用 个空格缩进代码</p></li><li><p class="mb-2">在行首添加 <code>></code> 表示引用</p></li><li><p class="mb-2">反引号进行转义 <code>`像 _这样_`</code></p></li><li><p class="mb-2">使用 <code>```</code> 创建代码块</p><pre class="mb-0"><code>```<br/>这是代码块<br/>```</code></pre></li></ul>
|
||||
pagination:
|
||||
prev: 上一页
|
||||
next: 下一页
|
||||
@@ -806,7 +821,7 @@ ui:
|
||||
tag_wiki: 标签维基
|
||||
create_tag: 创建标签
|
||||
edit_tag: 编辑标签
|
||||
ask_a_question: 提问题
|
||||
ask_a_question: 创建问题
|
||||
edit_question: 编辑问题
|
||||
edit_answer: 编辑回答
|
||||
search: 搜索
|
||||
@@ -830,6 +845,17 @@ ui:
|
||||
http_50X: HTTP 错误 500
|
||||
http_403: HTTP 错误 403
|
||||
logout: 退出
|
||||
posts: 帖子
|
||||
ai_assistant: AI 助手
|
||||
ai_assistant:
|
||||
description: 有问题?问它并获得答案、观点和建议。
|
||||
recent_conversations: 新对话
|
||||
show_more: 显示更多
|
||||
new: 新聊天
|
||||
ai_generate: 来自帖子的 AI,可能不准确。
|
||||
copy: 复制
|
||||
ask_a_follow_up: 提出后续问题
|
||||
ask_placeholder: 提问
|
||||
notifications:
|
||||
title: 通知
|
||||
inbox: 收件箱
|
||||
@@ -911,7 +937,7 @@ ui:
|
||||
msg:
|
||||
empty: 请选择图片文件。
|
||||
only_image: 只能上传图片文件。
|
||||
max_size: 文件大小不能超过 4 MB。
|
||||
max_size: 文件大小不能超过 {{size}} MB。
|
||||
desc:
|
||||
label: 描述
|
||||
tab_url: 图片地址
|
||||
@@ -953,6 +979,10 @@ ui:
|
||||
text: 表格
|
||||
heading: 表头
|
||||
cell: 单元格
|
||||
file:
|
||||
text: 附件
|
||||
not_supported: "不支持的文件类型。请尝试上传其他类型的文件如: {{file_type}}。"
|
||||
max_size: "上传文件超过 {{size}} MB。"
|
||||
close_modal:
|
||||
title: 关闭原因是...
|
||||
btn_cancel: 取消
|
||||
@@ -1022,6 +1052,15 @@ ui:
|
||||
<p>我们不允许 <strong>删除带有同义词的标签</strong>。</p> <p>请先从此标签中删除同义词。</p>
|
||||
tip: 确定要删除吗?
|
||||
close: 关闭
|
||||
merge:
|
||||
title: 合并标签
|
||||
source_tag_title: 源标签
|
||||
source_tag_description: 源标签及其相关数据将重新映射到目标标签。
|
||||
target_tag_title: 目标标签
|
||||
target_tag_description: 合并后将在这两个标签之间将创建一个同义词。
|
||||
no_results: 没有匹配的标签
|
||||
btn_submit: 提交
|
||||
btn_close: 关闭
|
||||
edit_tag:
|
||||
title: 编辑标签
|
||||
default_reason: 编辑标签
|
||||
@@ -1040,6 +1079,9 @@ ui:
|
||||
day: 天
|
||||
hours: 小时
|
||||
days: 日
|
||||
month: 月
|
||||
months: 月
|
||||
year: 年
|
||||
reaction:
|
||||
heart: 爱心
|
||||
smile: 微笑
|
||||
@@ -1093,11 +1135,12 @@ ui:
|
||||
search_placeholder: 通过标签名称过滤
|
||||
no_desc: 此标签无描述。
|
||||
more: 更多
|
||||
wiki: 维基
|
||||
ask:
|
||||
title: 新增问题
|
||||
title: 创建问题
|
||||
edit_title: 编辑问题
|
||||
default_reason: 编辑问题
|
||||
default_first_reason: 新增问题
|
||||
default_first_reason: 创建问题
|
||||
similar_questions: 相似问题
|
||||
form:
|
||||
fields:
|
||||
@@ -1105,7 +1148,7 @@ ui:
|
||||
label: 修订版本
|
||||
title:
|
||||
label: 标题
|
||||
placeholder: 请详细描述你的问题,想象你在问一个人
|
||||
placeholder: 你的主题是什么?请具体说明。
|
||||
msg:
|
||||
empty: 标题不能为空。
|
||||
range: 标题最多 150 个字符
|
||||
@@ -1113,6 +1156,9 @@ ui:
|
||||
label: 内容
|
||||
msg:
|
||||
empty: 内容不能为空。
|
||||
hint:
|
||||
optional_body: 描述这个问题是什么。
|
||||
minimum_characters: "详细描述这个问题,至少需要 {{min_content_length}} 字符。"
|
||||
tags:
|
||||
label: 标签
|
||||
msg:
|
||||
@@ -1133,7 +1179,9 @@ ui:
|
||||
add_btn: 添加标签
|
||||
create_btn: 创建新标签
|
||||
search_tag: 搜索标签
|
||||
hint: "描述您的问题是关于什么,至少需要一个标签。"
|
||||
hint: 描述您的内容是关于什么,至少需要一个标签。
|
||||
hint_zero_tags: 描述您的内容与什么有关。
|
||||
hint_more_than_one_tag: "描述您的内容是关于什么,至少需要{{min_tags_number}}个标签。"
|
||||
no_result: 没有匹配的标签
|
||||
tag_required_text: 必选标签(至少一个)
|
||||
header:
|
||||
@@ -1152,8 +1200,7 @@ ui:
|
||||
search:
|
||||
placeholder: 搜索
|
||||
footer:
|
||||
build_on: >-
|
||||
由 <1>Apache Answer</1> 提供动力 - 驱动问答社区的开源软件。<br />用爱制造 © {{cc}}.
|
||||
build_on: Powered by <1> Apache Answer </1>
|
||||
upload_img:
|
||||
name: 更改
|
||||
loading: 加载中...
|
||||
@@ -1185,8 +1232,8 @@ ui:
|
||||
label: 名字
|
||||
msg:
|
||||
empty: 名字不能为空
|
||||
range: 名字应该在 4 到 30 个字符之间
|
||||
character: '只能由 "a-z"、"A-Z"、"0-9"、" - . _" 组成'
|
||||
range: 名称长度必须在 2 至 30 个字符之间。
|
||||
character: '只能由 "a-z", "0-9", " - . _" 组成'
|
||||
email:
|
||||
label: 邮箱
|
||||
msg:
|
||||
@@ -1258,13 +1305,13 @@ ui:
|
||||
display_name:
|
||||
label: 显示名称
|
||||
msg: 昵称不能为空。
|
||||
msg_range: 显示名称不能超过 30 个字符。
|
||||
msg_range: 显示名称长度必须为 2-30 个字符。
|
||||
username:
|
||||
label: 用户名
|
||||
caption: 用户可以通过 "@用户名" 来提及你。
|
||||
msg: 用户名不能为空
|
||||
msg_range: 用户名不能超过 30 个字符。
|
||||
character: '只能由 "a-z"、"A-Z"、"0-9"、" - . _" 组成'
|
||||
msg_range: 显示名称长度必须为 2-30 个字符。
|
||||
character: '只能由 "a-z", "0-9", " - . _" 组成'
|
||||
avatar:
|
||||
label: 头像
|
||||
gravatar: Gravatar
|
||||
@@ -1339,8 +1386,12 @@ ui:
|
||||
review: 您的修订将在审阅通过后显示。
|
||||
sent_success: 发送成功
|
||||
related_question:
|
||||
title: 相关问题
|
||||
title: 相似
|
||||
answers: 个回答
|
||||
linked_question:
|
||||
title: 关联
|
||||
description: 帖子关联到
|
||||
no_linked_question: 没有与之关联的贴子。
|
||||
invite_to_answer:
|
||||
title: 受邀人
|
||||
desc: 邀请你认为可能知道答案的人。
|
||||
@@ -1349,9 +1400,11 @@ ui:
|
||||
search: 搜索人员
|
||||
question_detail:
|
||||
action: 操作
|
||||
created: 创建于
|
||||
Asked: 提问于
|
||||
asked: 提问于
|
||||
update: 修改于
|
||||
Edited: 编辑于
|
||||
edit: 编辑于
|
||||
commented: 评论
|
||||
Views: 阅读次数
|
||||
@@ -1431,7 +1484,7 @@ ui:
|
||||
signup: 注册
|
||||
logout: 退出
|
||||
verify: 验证
|
||||
add_question: 我要提问
|
||||
create: 创建
|
||||
approve: 批准
|
||||
reject: 拒绝
|
||||
skip: 跳过
|
||||
@@ -1463,8 +1516,16 @@ ui:
|
||||
normal: 正常
|
||||
closed: 已关闭
|
||||
deleted: 已删除
|
||||
deleted_permanently: 永久删除
|
||||
pending: 等待处理
|
||||
more: 更多
|
||||
view: 浏览量
|
||||
card: 卡片
|
||||
compact: 紧凑
|
||||
display_below: 在下方显示
|
||||
always_display: 总是显示
|
||||
or: 或者
|
||||
back_sites: 返回网站
|
||||
search:
|
||||
title: 搜索结果
|
||||
keywords: 关键词
|
||||
@@ -1472,6 +1533,7 @@ ui:
|
||||
follow: 关注
|
||||
following: 已关注
|
||||
counts: "{{count}} 个结果"
|
||||
counts_loading: "... 个结果"
|
||||
more: 更多
|
||||
sort_btns:
|
||||
relevance: 相关性
|
||||
@@ -1494,10 +1556,13 @@ ui:
|
||||
via: 分享到...
|
||||
copied: 已复制
|
||||
facebook: 分享到 Facebook
|
||||
twitter: 分享到 Twitter
|
||||
twitter: 分享到 X
|
||||
cannot_vote_for_self: 你不能给自己的帖子投票。
|
||||
modal_confirm:
|
||||
title: 发生错误...
|
||||
delete_permanently:
|
||||
title: 永久删除
|
||||
content: 您确定要永久删除吗?
|
||||
account_result:
|
||||
success: 你的账号已通过验证,即将返回首页。
|
||||
link: 返回首页
|
||||
@@ -1520,11 +1585,13 @@ ui:
|
||||
all_questions: 全部问题
|
||||
x_questions: "{{ count }} 个问题"
|
||||
x_answers: "{{ count }} 个回答"
|
||||
x_posts: "{{ count }} 个帖子"
|
||||
questions: 问题
|
||||
answers: 回答
|
||||
newest: 最新
|
||||
active: 活跃
|
||||
hot: 热门
|
||||
frequent: 频繁的
|
||||
recommend: 推荐
|
||||
score: 评分
|
||||
unanswered: 未回答
|
||||
@@ -1559,6 +1626,7 @@ ui:
|
||||
top_questions: 高分问题
|
||||
stats: 状态
|
||||
list_empty: 没有找到相关的内容。<br />试试看其他选项卡?
|
||||
content_empty: 未找到帖子。
|
||||
accepted: 已采纳
|
||||
answered: 回答于
|
||||
asked: 提问于
|
||||
@@ -1599,6 +1667,23 @@ ui:
|
||||
label: 数据库文件
|
||||
placeholder: /data/answer.db
|
||||
msg: 数据库文件不能为空。
|
||||
ssl_enabled:
|
||||
label: 启用 SSL
|
||||
ssl_enabled_on:
|
||||
label: On
|
||||
ssl_enabled_off:
|
||||
label: Off
|
||||
ssl_mode:
|
||||
label: SSL 模式
|
||||
ssl_root_cert:
|
||||
placeholder: sslrootcert文件路径
|
||||
msg: sslrootcert 文件的路径不能为空
|
||||
ssl_cert:
|
||||
placeholder: sslcert文件路径
|
||||
msg: sslcert 文件的路径不能为空
|
||||
ssl_key:
|
||||
placeholder: sslkey 文件路径
|
||||
msg: sslcert 文件的路径不能为空
|
||||
config_yaml:
|
||||
title: 创建 config.yaml
|
||||
label: 已创建 config.yaml 文件。
|
||||
@@ -1632,7 +1717,7 @@ ui:
|
||||
label: 名字
|
||||
msg: 名字不能为空。
|
||||
character: '只能由 "a-z", "0-9", " - . _" 组成'
|
||||
msg_max_length: 名字长度不能超过 30 个字符。
|
||||
msg_max_length: 名称长度必须在 2 至 30 个字符之间。
|
||||
admin_password:
|
||||
label: 密码
|
||||
text: >-
|
||||
@@ -1640,6 +1725,10 @@ ui:
|
||||
msg: 密码不能为空。
|
||||
msg_min_length: 密码必须至少 8 个字符长。
|
||||
msg_max_length: 密码长度不能超过 32 个字符。
|
||||
admin_confirm_password:
|
||||
label: "确认密码"
|
||||
text: "请重新输入您的密码以确认。"
|
||||
msg: "确认密码不一致。"
|
||||
admin_email:
|
||||
label: 邮箱
|
||||
text: 您需要此电子邮件才能登录。
|
||||
@@ -1688,16 +1777,29 @@ ui:
|
||||
branding: 品牌
|
||||
legal: 法律条款
|
||||
write: 撰写
|
||||
terms: 服务条款
|
||||
tos: 服务条款
|
||||
privacy: 隐私政策
|
||||
seo: SEO
|
||||
customize: 自定义
|
||||
themes: 主题
|
||||
css_html: CSS/HTML
|
||||
login: 登录
|
||||
privileges: 特权
|
||||
plugins: 插件
|
||||
installed_plugins: 已安装插件
|
||||
apperance: 外观
|
||||
community: 社区
|
||||
advanced: 高级选项
|
||||
tags: 标签
|
||||
rules: 规则
|
||||
policies: 政策
|
||||
security: 安全
|
||||
files: 文件
|
||||
apikeys: API 密钥
|
||||
intelligence: 智力
|
||||
ai_assistant: AI 助手
|
||||
ai_settings: AI 设置
|
||||
mcp: MCP
|
||||
website_welcome: 欢迎来到 {{site_name}}
|
||||
user_center:
|
||||
login: 登录
|
||||
@@ -1710,7 +1812,7 @@ ui:
|
||||
close: 关闭
|
||||
confirm: 查看徽章
|
||||
title: 徽章
|
||||
awarded: 授予的
|
||||
awarded: 授予
|
||||
earned_×: 以获得 ×{{ number }}
|
||||
×_awarded: "{{ number }} 得到"
|
||||
can_earn_multiple: 你可以多次获得
|
||||
@@ -1723,6 +1825,8 @@ ui:
|
||||
welcome: 欢迎来到管理后台!
|
||||
site_statistics: 站点统计
|
||||
questions: "问题:"
|
||||
resolved: "已解决:"
|
||||
unanswered: "未回答:"
|
||||
answers: "回答:"
|
||||
comments: "评论:"
|
||||
votes: "投票:"
|
||||
@@ -1795,10 +1899,10 @@ ui:
|
||||
fields:
|
||||
display_name:
|
||||
label: 显示名称
|
||||
msg_range: 显示名称不能超过 30 个字符。
|
||||
msg_range: 显示名称长度必须为 2-30 个字符。
|
||||
username:
|
||||
label: 用户名
|
||||
msg_range: 用户名不能超过 30 个字符。
|
||||
msg_range: 用户名长度必须为 2-30 个字符。
|
||||
email:
|
||||
label: 电子邮件地址
|
||||
msg_invalid: 无效的邮箱地址
|
||||
@@ -1816,7 +1920,7 @@ ui:
|
||||
msg: "请输入用户的邮箱,每行一个。"
|
||||
display_name:
|
||||
label: 显示名称
|
||||
msg: 显示名称长度必须为 4-30 个字符
|
||||
msg: 显示名称长度必须为 2-30 个字符
|
||||
email:
|
||||
label: 邮箱
|
||||
msg: 邮箱无效。
|
||||
@@ -1833,6 +1937,7 @@ ui:
|
||||
created_at: 创建时间
|
||||
delete_at: 删除时间
|
||||
suspend_at: 封禁时间
|
||||
suspend_until: 封禁到期
|
||||
status: 状态
|
||||
role: 角色
|
||||
action: 操作
|
||||
@@ -1867,6 +1972,8 @@ ui:
|
||||
suspend_user:
|
||||
title: 挂起此用户
|
||||
content: 被封禁的用户将无法登录。
|
||||
label: 用户将被封禁多长时间?
|
||||
forever: 永久
|
||||
questions:
|
||||
page_title: 问题
|
||||
unlisted: 已隐藏
|
||||
@@ -1927,6 +2034,12 @@ ui:
|
||||
label: 时区
|
||||
msg: 时区不能为空。
|
||||
text: 选择一个与您相同时区的城市。
|
||||
avatar:
|
||||
label: 默认头像
|
||||
text: 没有自定义头像的用户。
|
||||
gravatar_base_url:
|
||||
label: Gravatar 根路径 URL
|
||||
text: Gravatar 提供商的 API 基础的 URL。当为空时忽略。
|
||||
smtp:
|
||||
page_title: SMTP
|
||||
from_email:
|
||||
@@ -1992,12 +2105,23 @@ ui:
|
||||
privacy_policy:
|
||||
label: 隐私政策
|
||||
text: "您可以在此添加隐私政策内容。如果您已经在别处托管了文档,请在这里提供完整的URL。"
|
||||
external_content_display:
|
||||
label: 外部内容
|
||||
text: "内容包括从外部网站嵌入的图像、视频和媒体。"
|
||||
always_display: 总是显示外部内容
|
||||
ask_before_display: 在显示外部内容之前询问
|
||||
write:
|
||||
page_title: 编辑
|
||||
page_title: 文件
|
||||
min_content:
|
||||
label: 最小问题长度
|
||||
text: 最小允许的问题内容长度(字符)。
|
||||
restrict_answer:
|
||||
title: 回答编辑
|
||||
label: 每个用户对于每个问题只能有一个回答
|
||||
text: "用户可以使用编辑按钮优化已有的回答"
|
||||
min_tags:
|
||||
label: "问题的最少标签数"
|
||||
text: "一个问题所需标签的最小数量。"
|
||||
recommend_tags:
|
||||
label: 推荐标签
|
||||
text: "推荐标签将默认显示在下拉列表中。"
|
||||
@@ -2010,6 +2134,21 @@ ui:
|
||||
reserved_tags:
|
||||
label: 保留标签
|
||||
text: "只有版主才能使用保留的标签。"
|
||||
image_size:
|
||||
label: 最大图像大小 (MB)
|
||||
text: "最大图像上传大小."
|
||||
attachment_size:
|
||||
label: 最大附件大小 (MB)
|
||||
text: "最大附件文件上传大小。"
|
||||
image_megapixels:
|
||||
label: 最大图像兆像素
|
||||
text: "允许图像的最大兆位数。"
|
||||
image_extensions:
|
||||
label: 允许的图像后缀
|
||||
text: "允许图像显示的文件扩展名的列表,用英文逗号分隔。"
|
||||
attachment_extensions:
|
||||
label: 允许的附件后缀
|
||||
text: "允许上传的文件扩展名列表与英文逗号分开。警告:允许上传可能会导致安全问题。"
|
||||
seo:
|
||||
page_title: 搜索引擎优化
|
||||
permalink:
|
||||
@@ -2026,10 +2165,14 @@ ui:
|
||||
color_scheme:
|
||||
label: 配色方案
|
||||
navbar_style:
|
||||
label: 导航栏样式
|
||||
label: 导航栏背景样式
|
||||
primary_color:
|
||||
label: 主色调
|
||||
text: 修改您主题使用的颜色
|
||||
layout:
|
||||
label: 布局
|
||||
full_width: 全宽度
|
||||
fixed_width: 固定宽度
|
||||
css_and_html:
|
||||
page_title: CSS 与 HTML
|
||||
custom_css:
|
||||
@@ -2046,7 +2189,7 @@ ui:
|
||||
|
||||
footer:
|
||||
label: 页脚
|
||||
text: 这将在 </body> 之前插入.
|
||||
text: 这将在 </body> 之前插入。
|
||||
sidebar:
|
||||
label: 侧边栏
|
||||
text: 这将插入侧边栏中。
|
||||
@@ -2134,6 +2277,70 @@ ui:
|
||||
show_logs: 显示日志
|
||||
status: 状态
|
||||
title: 徽章
|
||||
apikeys:
|
||||
title: API 密钥
|
||||
add_api_key: 添加 API 密钥
|
||||
desc: 描述
|
||||
scope: 范围
|
||||
key: 密钥
|
||||
created: 创建于
|
||||
last_used: 最后使用
|
||||
add_or_edit_modal:
|
||||
add_title: 添加 API 密钥
|
||||
edit_title: 编辑 API 密钥
|
||||
description: 描述
|
||||
description_required: 请输入描述。
|
||||
scope: 范围
|
||||
global: 全局
|
||||
read-only: 只读
|
||||
created_modal:
|
||||
title: 已创建API密钥
|
||||
api_key: API 密钥
|
||||
description: 此密钥将不会再次显示。请确保您在继续之前拿到一份副本。
|
||||
delete_modal:
|
||||
title: 删除API密钥
|
||||
content: 任何使用此密钥的应用程序或脚本都将无法访问API。这是永久性的!
|
||||
ai_settings:
|
||||
enabled:
|
||||
label: AI 已启用
|
||||
check: 启用AI功能
|
||||
text: AI 模型必须正确配置才能使用。
|
||||
provider:
|
||||
label: 提供商
|
||||
api_host:
|
||||
label: API 主机
|
||||
msg: API 主机是必需的
|
||||
api_key:
|
||||
label: API 密钥
|
||||
check: 检查
|
||||
check_success: "连接成功。"
|
||||
msg: API 密钥是必填项
|
||||
model:
|
||||
label: 模型
|
||||
msg: 模型是必需的
|
||||
add_success: AI 设置更新成功。
|
||||
conversations:
|
||||
topic: 主题
|
||||
helpful: 有帮助
|
||||
unhelpful: 没有帮助
|
||||
created: 创建于
|
||||
action: 操作
|
||||
empty: 没有找到会话
|
||||
delete_modal:
|
||||
title: 删除对话
|
||||
content: 您确定要删除此对话吗?这是永久性的!
|
||||
delete_success: 对话删除成功。
|
||||
mcp:
|
||||
mcp_server:
|
||||
label: MCP服务器
|
||||
switch: 已启用
|
||||
type:
|
||||
label: 类型
|
||||
url:
|
||||
label: 链接
|
||||
http_header:
|
||||
label: HTTP Header
|
||||
text: 请将 {key} 替换为 API 密钥。
|
||||
form:
|
||||
optional: (选填)
|
||||
empty: 不能为空
|
||||
@@ -2213,6 +2420,7 @@ ui:
|
||||
discard_confirm: 您确定要丢弃您的草稿吗?
|
||||
messages:
|
||||
post_deleted: 该帖子已被删除。
|
||||
post_cancel_deleted: 此帖子已被删除
|
||||
post_pin: 该帖子已被置顶。
|
||||
post_unpin: 该帖子已被取消置顶。
|
||||
post_hide_list: 此帖子已经从列表中隐藏。
|
||||
@@ -2221,3 +2429,22 @@ ui:
|
||||
post_list: 这个帖子已经被显示
|
||||
post_unlist: 这个帖子已经被隐藏
|
||||
post_pending: 您的帖子正在等待审核。它将在它获得批准后可见。
|
||||
post_closed: 此帖已关闭。
|
||||
answer_deleted: 该回答已被删除.
|
||||
answer_cancel_deleted: 此答案已取消删除。
|
||||
change_user_role: 此用户的角色已被更改。
|
||||
user_inactive: 此用户已经处于未激活状态。
|
||||
user_normal: 此用户已经是正常的。
|
||||
user_suspended: 此用户已被封禁。
|
||||
user_deleted: 此用户已被删除
|
||||
user_added: 用户添加成功。
|
||||
badge_activated: 此徽章已被激活。
|
||||
badge_inactivated: 此徽章已被禁用。
|
||||
users_deleted: 这些用户已被删除。
|
||||
posts_deleted: 这些问题已被删除。
|
||||
answers_deleted: 这些答案已被删除。
|
||||
copy: 复制到剪贴板
|
||||
copied: 已复制
|
||||
external_content_warning: 外部图像/媒体未显示。
|
||||
|
||||
|
||||
|
||||
+341
-114
File diff suppressed because it is too large
Load Diff
@@ -24,13 +24,13 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/apache/incubator-answer/internal/base/data"
|
||||
"github.com/apache/incubator-answer/internal/base/server"
|
||||
"github.com/apache/incubator-answer/internal/base/translator"
|
||||
"github.com/apache/incubator-answer/internal/cli"
|
||||
"github.com/apache/incubator-answer/internal/router"
|
||||
"github.com/apache/incubator-answer/internal/service/service_config"
|
||||
"github.com/apache/incubator-answer/pkg/writer"
|
||||
"github.com/apache/answer/internal/base/data"
|
||||
"github.com/apache/answer/internal/base/path"
|
||||
"github.com/apache/answer/internal/base/server"
|
||||
"github.com/apache/answer/internal/base/translator"
|
||||
"github.com/apache/answer/internal/router"
|
||||
"github.com/apache/answer/internal/service/service_config"
|
||||
"github.com/apache/answer/pkg/writer"
|
||||
"github.com/segmentfault/pacman/contrib/conf/viper"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
@@ -98,7 +98,7 @@ func (c *AllConfig) SetEnvironmentOverrides() {
|
||||
// ReadConfig read config
|
||||
func ReadConfig(configFilePath string) (c *AllConfig, err error) {
|
||||
if len(configFilePath) == 0 {
|
||||
configFilePath = filepath.Join(cli.ConfigFileDir, cli.DefaultConfigFileName)
|
||||
configFilePath = filepath.Join(path.ConfigFileDir, path.DefaultConfigFileName)
|
||||
}
|
||||
c = &AllConfig{}
|
||||
config, err := viper.NewWithPath(configFilePath)
|
||||
@@ -117,7 +117,9 @@ func ReadConfig(configFilePath string) (c *AllConfig, err error) {
|
||||
func RewriteConfig(configFilePath string, allConfig *AllConfig) error {
|
||||
buf := bytes.Buffer{}
|
||||
enc := yaml.NewEncoder(&buf)
|
||||
defer enc.Close()
|
||||
defer func() {
|
||||
_ = enc.Close()
|
||||
}()
|
||||
enc.SetIndent(2)
|
||||
if err := enc.Encode(allConfig); err != nil {
|
||||
return err
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package constant
|
||||
|
||||
const (
|
||||
AIConfigProvider = "ai_config.provider"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultAIPromptConfigZhCN = `你是一个智能助手,可以帮助用户查询系统中的信息。用户问题:%s
|
||||
|
||||
你可以使用以下工具来查询系统信息:
|
||||
- get_questions: 搜索系统中已存在的问题,使用这个工具可以获取问题列表后注意需要使用 get_answers_by_question_id 获取问题的答案
|
||||
- get_answers_by_question_id: 根据问题ID获取该问题的所有答案
|
||||
- get_comments: 搜索评论信息
|
||||
- get_tags: 搜索标签信息
|
||||
- get_tag_detail: 获取特定标签的详细信息
|
||||
- get_user: 搜索用户信息
|
||||
- semantic_search: 通过语义相似度搜索问题和答案。当用户的问题与现有内容概念相关但可能不匹配确切关键词时使用此工具。当 get_questions 关键词搜索返回较差结果时,请使用 semantic_search。
|
||||
|
||||
请根据用户的问题智能地使用这些工具来提供准确的答案。如果需要查询系统信息,请先使用相应的工具获取数据。`
|
||||
DefaultAIPromptConfigEnUS = `You are an intelligent assistant that can help users query information in the system. User question: %s
|
||||
|
||||
You can use the following tools to query system information:
|
||||
- get_questions: Search for existing questions in the system. After using this tool to get the question list, you need to use get_answers_by_question_id to get the answers to the questions
|
||||
- get_answers_by_question_id: Get all answers for a question based on question ID
|
||||
- get_comments: Search for comment information
|
||||
- get_tags: Search for tag information
|
||||
- get_tag_detail: Get detailed information about a specific tag
|
||||
- get_user: Search for user information
|
||||
- semantic_search: Search questions and answers by semantic meaning. Use this when the user's question relates conceptually to existing content but may not match exact keywords. When get_questions keyword search returns poor results, use semantic_search instead.
|
||||
|
||||
Please intelligently use these tools based on the user's question to provide accurate answers. If you need to query system information, please use the appropriate tools to get the data first.`
|
||||
)
|
||||
@@ -42,6 +42,9 @@ const (
|
||||
ConfigCacheTime = 1 * time.Hour
|
||||
ConnectorUserExternalInfoCacheKey = "answer:connector:"
|
||||
ConnectorUserExternalInfoCacheTime = 10 * time.Minute
|
||||
ConnectorOAuthStateCacheKey = "answer:connector:oauth-state:"
|
||||
ConnectorOAuthStateCacheTime = 10 * time.Minute
|
||||
ConnectorOAuthBindStateCacheTime = 5 * time.Minute
|
||||
SiteMapQuestionCacheKeyPrefix = "answer:sitemap:question:%d"
|
||||
SiteMapQuestionCacheTime = time.Hour
|
||||
SitemapMaxSize = 50000
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user