i18n.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. const { a, em, strong } = require("hyperaxe");
  2. const i18n = {
  3. en: {
  4. // navbar items
  5. extended: "Multiverse",
  6. extendedDescription: [
  7. "When you support someone you may download posts from the inhabitants they support, and those posts show up here, sorted by recency.",
  8. ],
  9. popular: "Highlights",
  10. popularDescription: [
  11. "Posts from inhabitants in your network, ",
  12. strong("sorted by spreads"),
  13. ". Select the period of time, to get a list.",
  14. ],
  15. day: "Day",
  16. week: "Week",
  17. month: "Month",
  18. year: "Year",
  19. latest: "Latest",
  20. latestDescription: [
  21. strong("Posts"),
  22. " from yourself and inhabitants you support, sorted by recency.",
  23. ],
  24. topics: "Themes",
  25. topicsDescription: [
  26. strong("Themes"),
  27. " from yourself and inhabitants you support, sorted by recency. Select the timestamp of any post to see the rest of the thread.",
  28. ],
  29. summaries: "Summaries",
  30. summariesDescription: [
  31. strong("Themes and some comments"),
  32. " from yourself and inhabitants you support, sorted by recency. Select the timestamp of any post to see the rest of the thread.",
  33. ],
  34. threads: "Threads",
  35. threadsDescription: [
  36. strong("Posts that have comments"),
  37. " from inhabitants you support and your multiverse, sorted by recency. Select the timestamp of any post to see the rest of the thread.",
  38. ],
  39. profile: "Avatar",
  40. inhabitants: "Inhabitants",
  41. manualMode: "Manual Mode",
  42. mentions: "Mentions",
  43. mentionsDescription: [
  44. strong("Posts that @mention you"),
  45. ", sorted by recency.",
  46. ],
  47. private: "Inbox",
  48. peers: "Peers",
  49. privateDescription: [
  50. "The latest comment from ",
  51. strong("private threads that include you"),
  52. ", sorted by recency. Private posts are encrypted for your public key, and have a maximum of 7 recipients. Recipients cannot be added after the thread has started. Select the timestamp to view the full thread.",
  53. ],
  54. search: "Search",
  55. imageSearch: "Image Search",
  56. settings: "Settings",
  57. continueReading: "continue reading",
  58. moreComments: "more comment",
  59. readThread: "read the rest of the thread",
  60. // post actions
  61. comment: "Comment",
  62. subtopic: "Subtopic",
  63. json: "JSON",
  64. // relationships
  65. unfollow: "Unsupport",
  66. follow: "Support",
  67. block: "Block",
  68. unblock: "Unblock",
  69. newerPosts: "Newer posts",
  70. olderPosts: "Older posts",
  71. feedRangeEmpty: "The given range is empty for this feed. Try viewing the ",
  72. seeFullFeed: "full feed",
  73. feedEmpty: "The local client has never seen posts from this account.",
  74. beginningOfFeed: "This is the beginning of the feed",
  75. noNewerPosts: "No newer posts have been received yet.",
  76. relationshipNotFollowing: "",
  77. relationshipTheyFollow: "",
  78. relationshipMutuals: "",
  79. relationshipFollowing: "You are supporting",
  80. relationshipYou: "You",
  81. relationshipBlocking: "You are blocking",
  82. relationshipNone: "",
  83. relationshipConflict: "",
  84. relationshipBlockingPost: "Blocked post",
  85. // spreads view
  86. viewLikes: "View spreads",
  87. spreadedDescription: "List of posts spread by the inhabitant.",
  88. likedBy: " -> Spreads",
  89. // composer
  90. attachFiles: "Attach files",
  91. mentionsMatching: "Matching mentions",
  92. preview: "Preview",
  93. publish: "Write",
  94. contentWarningPlaceholder: "Add a subject to the post (optional)",
  95. privateWarningPlaceholder: "Add inhabitants to send a private post (ex: @bob @alice) (optional)",
  96. publishWarningPlaceholder: "...",
  97. publishCustomDescription: [
  98. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  99. ],
  100. commentWarning: [
  101. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  102. ],
  103. commentPublic: "public",
  104. commentPrivate: "private",
  105. commentLabel: ({ publicOrPrivate, markdownUrl }) => [
  106. ],
  107. publishLabel: ({ markdownUrl, linkTarget }) => [
  108. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  109. ],
  110. replyLabel: ({ markdownUrl }) => [
  111. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  112. ],
  113. publishCustomInfo: ({ href }) => [
  114. "If you have experience, you can also ",
  115. a({ href }, "write an advanced post"),
  116. ".",
  117. ],
  118. publishBasicInfo: ({ href }) => [
  119. "If you have not experience, you should ",
  120. a({ href }, "write a post"),
  121. ".",
  122. ],
  123. publishCustom: "Write advanced post",
  124. subtopicLabel: ({ markdownUrl }) => [
  125. "Create a ",
  126. strong("public subtopic"),
  127. " of this post with ",
  128. a({ href: markdownUrl }, "Markdown"),
  129. ". Posts cannot be edited or deleted. To respond to an entire thread, select ",
  130. strong("comment"),
  131. " instead. Preview shows attached media.",
  132. ],
  133. // settings
  134. updateit: "Get updates",
  135. info: "Info",
  136. settingsIntro: ({ version }) => [
  137. `SNH-Oasis: [${version}]`,
  138. ],
  139. theme: "Theme",
  140. themeIntro:
  141. "Choose a theme.",
  142. setTheme: "Set theme",
  143. language: "Language",
  144. languageDescription:
  145. "If you'd like to use another language, select it here.",
  146. setLanguage: "Set language",
  147. status: "Status",
  148. peerConnections: "Peers",
  149. online: "Online",
  150. supported: "Supported",
  151. recommended: "Recommended",
  152. blocked: "Blocked",
  153. noConnections: "No peers connected.",
  154. noSupportedConnections: "No peers supported.",
  155. noBlockedConnections: "No peers blocked.",
  156. noRecommendedConnections: "No peers recommended.",
  157. connectionActionIntro:
  158. "",
  159. startNetworking: "Start networking",
  160. stopNetworking: "Stop networking",
  161. restartNetworking: "Restart networking",
  162. sync: "Sync",
  163. indexes: "Indexes",
  164. indexesDescription:
  165. "Rebuilding your indexes is safe, and may fix some types of bugs.",
  166. invites: "Invites",
  167. invitesDescription:
  168. "Use the PUB's invite codes here.",
  169. acceptInvite: "Accept invite",
  170. acceptedInvites: "Federated Networks",
  171. noInvites: "No invites accepted.",
  172. // search page
  173. searchLabel: "Seek inhabitants and keywords, among the posts you have downloaded.",
  174. // image search page
  175. imageSearchLabel: "Enter words to search for images labelled with them.",
  176. // posts and comments
  177. commentDescription: ({ parentUrl }) => [
  178. " commented on ",
  179. a({ href: parentUrl }, " thread"),
  180. ],
  181. commentTitle: ({ authorName }) => [`Comment on @${authorName}'s post`],
  182. subtopicDescription: ({ parentUrl }) => [
  183. " created a subtopic from ",
  184. a({ href: parentUrl }, " a post"),
  185. ],
  186. subtopicTitle: ({ authorName }) => [`Subtopic on @${authorName}'s post`],
  187. mysteryDescription: "posted a mysterious post",
  188. // misc
  189. oasisDescription: "SNH Project Network",
  190. submit: "Submit",
  191. editProfile: "Edit Avatar",
  192. editProfileDescription:
  193. "",
  194. profileName: "Avatar name (plain text)",
  195. profileImage: "Avatar image",
  196. profileDescription: "Avatar description (Markdown)",
  197. hashtagDescription:
  198. "Posts from inhabitants in your network that reference this #hashtag, sorted by recency.",
  199. rebuildName: "Rebuild database",
  200. },
  201. /* spell-checker: disable */
  202. es: {
  203. latest: "Novedades",
  204. profile: "Avatar",
  205. inhabitants: "Habitantes",
  206. search: "Buscar",
  207. imageSearch: "Buscar Imágenes",
  208. settings: "Configuración",
  209. continueReading: "continuar leyendo",
  210. moreComments: "comentario",
  211. readThread: "leer el resto del hilo",
  212. // navbar items
  213. extended: "Multiverso",
  214. extendedDescription: [
  215. "Cuando apoyes a alguien, podrás descargar publicaciones de habitantes que apoye, y esas publicaciones aparecerán aquí, ordenadas por las más recientes.",
  216. ],
  217. popular: "Destacadas",
  218. day: "Día",
  219. week: "Semana",
  220. month: "Mes",
  221. year: "Año",
  222. popularDescription: [
  223. "Posts de habitantes de tu red, ",
  224. strong("ordenados por difusiones"),
  225. ". Selecciona el periodo de tiempo, para obtener una lista.",
  226. ],
  227. latestDescription: [
  228. strong("Posts"),
  229. " tuyos y de habitantes que apoyas, ordenados por los más recientes.",
  230. ],
  231. topics: "Temáticas",
  232. topicsDescription: [
  233. strong("Temáticas"),
  234. " tuyas y de habitantes que apoyas, ordenadas por las más recientes. Selecciona la hora de publicación para leer el hilo completo.",
  235. ],
  236. summaries: "Resumen",
  237. summariesDescription: [
  238. strong("Temáticas y algunos comentarios"),
  239. " tuyos y de habitantes que apoyas, ordenado por lo más reciente. Selecciona la hora de publicación para leer el hilo completo.",
  240. ],
  241. threads: "Hilos",
  242. threadsDescription: [
  243. strong("Posts que tienen comentarios"),
  244. " de habitantes que apoyas y de tu multiverso, ordenados por los más recientes. Selecciona la hora de publicación para leer el hilo completo.",
  245. ],
  246. manualMode: "Modo manual",
  247. mentions: "Menciones",
  248. mentionsDescription: [
  249. strong("Posts que te @mencionan"),
  250. ", ordenados por los más recientes.",
  251. ],
  252. private: "Buzón",
  253. peers: "Enlaces",
  254. privateDescription: [
  255. "Los comentarios más recientes de ",
  256. strong("hilos privados que te incluyen"),
  257. ". Las publicaciones privadas están cifradas para ti, y contienen un máximo de 7 destinatarios. No se podrán añadir nuevos destinarios después de que empieze el hilo. Selecciona la hora de publicación para leer el hilo completo.",
  258. ],
  259. // post actions
  260. comment: "Comentar",
  261. reply: "Responder",
  262. subtopic: "Subhilo",
  263. json: "JSON",
  264. // relationships
  265. relationshipNotFollowing: "",
  266. relationshipTheyFollow: "",
  267. relationshipMutuals: "",
  268. relationshipFollowing: "Apoyando",
  269. relationshipYou: "Tú",
  270. relationshipBlocking: "Bloqueado",
  271. relationshipNone: "",
  272. relationshipConflict: "",
  273. relationshipBlockingPost: "Post bloqueado",
  274. unfollow: "Dejar de apoyar",
  275. follow: "Apoyar",
  276. block: "Bloquear",
  277. unblock: "Desbloquear",
  278. newerPosts: "Nuevos posts",
  279. olderPosts: "Anteriores posts",
  280. feedRangeEmpty: "El rango requerido está vacío para éste hilo. Prueba a ver el ",
  281. seeFullFeed: "hilo completo",
  282. feedEmpty: "No tienes posts de ésta cuenta.",
  283. beginningOfFeed: "Éste es el comienzo del hilo",
  284. noNewerPosts: "No se han recibido nuevos posts aún.",
  285. // spreads view
  286. viewLikes: "Ver difusiones",
  287. spreadedDescription: "Listado de posts difundidos del habitante.",
  288. likedBy: " -> Difusiones",
  289. // composer
  290. attachFiles: "Agregar archivos",
  291. mentionsMatching: "Menciones coincidentes",
  292. preview: "Vista previa",
  293. publish: "Escribir",
  294. contentWarningPlaceholder: "Añade un asunto al post (opcional)",
  295. privateWarningPlaceholder: "Añade habitantes para enviar un post privado (ej: @bob @alice) (opcional)",
  296. publishWarningPlaceholder: "...",
  297. publishCustomDescription: [
  298. "RECUERDA: Debido a la tecnología blockchain, una vez publicado un post, no podrá ser editado o borrado.",
  299. ],
  300. commentWarning: [
  301. " RECUERDA: Debido a la tecnología blockchain, una vez publicado un post, no podrá ser editado o borrado.",
  302. ],
  303. commentPublic: "público",
  304. commentPrivate: "privado",
  305. commentLabel: ({ publicOrPrivate, markdownUrl }) => [
  306. ],
  307. publishLabel: ({ markdownUrl, linkTarget }) => [
  308. "RECUERDA: Debido a la tecnología blockchain, una vez publicado un post, no podrá ser editado o borrado.",
  309. ],
  310. publishCustomInfo: ({ href }) => [
  311. "Si tienes experiencia, también puedes ",
  312. a({ href }, "escribir un post avanzado"),
  313. ".",
  314. ],
  315. publishBasicInfo: ({ href }) => [
  316. "Si no tienes experiencia, lo mejor es ",
  317. a({ href }, "escribir un post normal"),
  318. ".",
  319. ],
  320. publishCustom: "Escribir post avanzado",
  321. replyLabel: ({ markdownUrl }) => [
  322. "RECUERDA: Debido a la tecnología blockchain, una vez publicados los posts, no podrán ser editados o borrados.",
  323. ],
  324. // settings-es
  325. updateit: "Obtener actualizaciones",
  326. info: "Info",
  327. settingsIntro: ({ version }) => [
  328. `SNH-Oasis: [${version}]`,
  329. ],
  330. theme: "Tema",
  331. themeIntro:
  332. "Elige un tema.",
  333. setTheme: "Seleccionar tema",
  334. language: "Idioma",
  335. languageDescription:
  336. "Si quieres usar otro idioma, seleccionalo aquí.",
  337. setLanguage: "Seleccionar idioma",
  338. status: "Estado",
  339. peerConnections: "Enlaces",
  340. online: "Online",
  341. supported: "Soportados",
  342. recommended: "Recomendados",
  343. blocked: "Bloqueados",
  344. noConnections: "Sin enlaces conectados.",
  345. noSupportedConnections: "Sin enlaces soportados.",
  346. noBlockedConnections: "Sin enlaces bloqueados.",
  347. noRecommendedConnections: "Sin enlaces recomendados.",
  348. connectionActionIntro:
  349. "",
  350. startNetworking: "Iniciar red",
  351. stopNetworking: "Detener red",
  352. restartNetworking: "Reiniciar red",
  353. sync: "Sincronizar",
  354. indexes: "Índices",
  355. indexesDescription:
  356. "Reconstruir la caché de forma segura, puede solucionar algunos errores si se presentan.",
  357. invites: "Invitaciones",
  358. invitesDescription:
  359. "Utiliza los códigos de invitación de los PUBs aquí.",
  360. acceptInvite: "Aceptar invitación",
  361. acceptedInvites: "Redes Federadas",
  362. noInvites: "Sin invitaciones aceptadas.",
  363. // search page
  364. searchLabel:
  365. "Busca habitantes y palabras clave, entre los posts que tienes descargados.",
  366. // posts and comments
  367. commentDescription: ({ parentUrl }) => [
  368. " comentó en el",
  369. a({ href: parentUrl }, " hilo"),
  370. ],
  371. replyDescription: ({ parentUrl }) => [
  372. " respondido al ",
  373. a({ href: parentUrl }, "post "),
  374. ],
  375. // image search page
  376. imageSearchLabel:
  377. "Busca entre los títulos de las imágenes que tienes descargadas.",
  378. // posts and comments
  379. commentTitle: ({ authorName }) => [
  380. `Comentó en el post de @${authorName}`,
  381. ],
  382. subtopicDescription: ({ parentUrl }) => [
  383. " creó un nuevo hilo para ",
  384. a({ href: parentUrl }, "este post"),
  385. ],
  386. subtopicTitle: ({ authorName }) => [
  387. `Nuevo hilo en el post de @${authorName}`,
  388. ],
  389. mysteryDescription: "publicó un post misterioso",
  390. // misc
  391. oasisDescription:
  392. "Red de Proyectos de SNH",
  393. submit: "Aceptar",
  394. editProfile: "Editar avatar",
  395. editProfileDescription:
  396. "",
  397. profileName: "Nombre del avatar (texto)",
  398. profileImage: "Imagen del avatar",
  399. profileDescription: "Descripción del avatar (Markdown)",
  400. hashtagDescription:
  401. "Posts de habitantes en tu red que referencian a ésta #etiqueta, ordenados por los más recientes.",
  402. rebuildName: "Reconstruir base de datos",
  403. },
  404. };
  405. module.exports = i18n;