i18n.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  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: "Topics",
  25. topicsDescription: [
  26. strong("Topics"),
  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("Topics 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. // modules
  61. modules: "Modules",
  62. modulesViewTitle: "Modules",
  63. modulesViewDescription: "Set your environment by enabling or disabling modules.",
  64. inbox: "Inbox",
  65. multiverse: "Multiverse",
  66. popularLabel: "⌘ Highlights",
  67. topicsLabel: "ϟ Topics",
  68. latestLabel: "☄ Latest",
  69. summariesLabel: "※ Summaries",
  70. threadsLabel: "♺ Threads",
  71. multiverseLabel: "∞ Multiverse",
  72. inboxLabel: "☂ Inbox",
  73. invitesLabel: "ꔹ Invites",
  74. walletLabel: "❄ Wallet",
  75. saveSettings: "Save configuration",
  76. // post actions
  77. comment: "Comment",
  78. subtopic: "Subtopic",
  79. json: "JSON",
  80. // relationships
  81. unfollow: "Unsupport",
  82. follow: "Support",
  83. block: "Block",
  84. unblock: "Unblock",
  85. newerPosts: "Newer posts",
  86. olderPosts: "Older posts",
  87. feedRangeEmpty: "The given range is empty for this feed. Try viewing the ",
  88. seeFullFeed: "full feed",
  89. feedEmpty: "The local client has never seen posts from this account.",
  90. beginningOfFeed: "This is the beginning of the feed",
  91. noNewerPosts: "No newer posts have been received yet.",
  92. relationshipNotFollowing: "",
  93. relationshipTheyFollow: "",
  94. relationshipMutuals: "",
  95. relationshipFollowing: "You are supporting",
  96. relationshipYou: "You",
  97. relationshipBlocking: "You are blocking",
  98. relationshipNone: "",
  99. relationshipConflict: "",
  100. relationshipBlockingPost: "Blocked post",
  101. // spreads view
  102. viewLikes: "View spreads",
  103. spreadedDescription: "List of posts spread by the inhabitant.",
  104. likedBy: " -> Spreads",
  105. // composer
  106. attachFiles: "Attach files",
  107. mentionsMatching: "Matching mentions",
  108. preview: "Preview",
  109. publish: "Write",
  110. contentWarningPlaceholder: "Add a subject to the post (optional)",
  111. privateWarningPlaceholder: "Add inhabitants to send a private post (ex: @bob @alice) (optional)",
  112. publishWarningPlaceholder: "...",
  113. publishCustomDescription: [
  114. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  115. ],
  116. commentWarning: [
  117. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  118. ],
  119. commentPublic: "public",
  120. commentPrivate: "private",
  121. commentLabel: ({ publicOrPrivate, markdownUrl }) => [
  122. ],
  123. publishLabel: ({ markdownUrl, linkTarget }) => [
  124. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  125. ],
  126. replyLabel: ({ markdownUrl }) => [
  127. "REMEMBER: Due to blockchain technology, once a post is published it cannot be edited or deleted.",
  128. ],
  129. publishCustomInfo: ({ href }) => [
  130. "If you have experience, you can also ",
  131. a({ href }, "write an advanced post"),
  132. ".",
  133. ],
  134. publishBasicInfo: ({ href }) => [
  135. "If you have not experience, you should ",
  136. a({ href }, "write a post"),
  137. ".",
  138. ],
  139. publishCustom: "Write advanced post",
  140. subtopicLabel: ({ markdownUrl }) => [
  141. "Create a ",
  142. strong("public subtopic"),
  143. " of this post with ",
  144. a({ href: markdownUrl }, "Markdown"),
  145. ". Posts cannot be edited or deleted. To respond to an entire thread, select ",
  146. strong("comment"),
  147. " instead. Preview shows attached media.",
  148. ],
  149. // settings
  150. updateit: "Get updates",
  151. info: "Info",
  152. settingsIntro: ({ version }) => [
  153. `Oasis: [${version}]`,
  154. ],
  155. theme: "Theme",
  156. themeIntro:
  157. "Choose a theme.",
  158. setTheme: "Set theme",
  159. language: "Language",
  160. languageDescription:
  161. "If you'd like to use another language, select it here.",
  162. setLanguage: "Set language",
  163. status: "Status",
  164. peerConnections: "Peers",
  165. online: "Online",
  166. supported: "Supported",
  167. recommended: "Recommended",
  168. blocked: "Blocked",
  169. noConnections: "No peers connected.",
  170. noSupportedConnections: "No peers supported.",
  171. noBlockedConnections: "No peers blocked.",
  172. noRecommendedConnections: "No peers recommended.",
  173. connectionActionIntro:
  174. "",
  175. startNetworking: "Start networking",
  176. stopNetworking: "Stop networking",
  177. restartNetworking: "Restart networking",
  178. sync: "Sync",
  179. indexes: "Indexes",
  180. indexesDescription:
  181. "Rebuilding your indexes is safe, and may fix some types of bugs.",
  182. invites: "Invites",
  183. invitesDescription:
  184. "Use the PUB's invite codes here.",
  185. acceptInvite: "Accept invite",
  186. acceptedInvites: "Federated Networks",
  187. noInvites: "No invites accepted.",
  188. // search page
  189. searchLabel: "Seek inhabitants and keywords, among the posts you have downloaded.",
  190. // image search page
  191. imageSearchLabel: "Enter words to search for images labelled with them.",
  192. // posts and comments
  193. commentDescription: ({ parentUrl }) => [
  194. " commented on ",
  195. a({ href: parentUrl }, " thread"),
  196. ],
  197. commentTitle: ({ authorName }) => [`Comment on @${authorName}'s post`],
  198. subtopicDescription: ({ parentUrl }) => [
  199. " created a subtopic from ",
  200. a({ href: parentUrl }, " a post"),
  201. ],
  202. subtopicTitle: ({ authorName }) => [`Subtopic on @${authorName}'s post`],
  203. mysteryDescription: "posted a mysterious post",
  204. // misc
  205. oasisDescription: "SNH Project Network",
  206. submit: "Submit",
  207. editProfile: "Edit Avatar",
  208. editProfileDescription:
  209. "",
  210. profileName: "Avatar name (plain text)",
  211. profileImage: "Avatar image",
  212. profileDescription: "Avatar description (Markdown)",
  213. hashtagDescription:
  214. "Posts from inhabitants in your network that reference this #hashtag, sorted by recency.",
  215. rebuildName: "Rebuild database",
  216. wallet: "Wallet",
  217. walletAddress: "Address",
  218. walletAmount: "Amount",
  219. walletAddressLine: ({ address }) => `Address: ${address}`,
  220. walletAmountLine: ({ amount }) => `Amount: ECO ${amount}`,
  221. walletBack: "Back",
  222. walletBalanceLine: ({ balance }) => `ECO ${balance}`,
  223. walletCnfrs: "Cnfrs",
  224. walletConfirm: "Confirm",
  225. walletDescription: "Manage your digital assets, including sending and receiving ECOin, viewing your balance, and accessing your transaction history.",
  226. walletDate: "Date",
  227. walletFee: "Fee (The higher the fee, the faster your transaction will be processed)",
  228. walletFeeLine: ({ fee }) => `Fee: ECO ${fee}`,
  229. walletHistory: "History",
  230. walletReceive: "Receive",
  231. walletReset: "Reset",
  232. walletSend: "Send",
  233. walletStatus: "Status",
  234. walletDisconnected: "ECOin wallet disconnected. Check your wallet settings or connection status.",
  235. walletSentToLine: ({ destination, amount }) => `Sent ECO ${amount} to ${destination}`,
  236. walletSettingsTitle: "Wallet",
  237. walletSettingsDescription: "Integrate Oasis with your ECOin wallet.",
  238. walletStatusMessages: {
  239. invalid_amount: "Invalid amount",
  240. invalid_dest: "Invalid destination address",
  241. invalid_fee: "Invalid fee",
  242. validation_errors: "Validation errors",
  243. send_tx_success: "Transaction successful",
  244. },
  245. walletTitle: "Wallet",
  246. walletTotalCostLine: ({ totalCost }) => `Total cost: ECO ${totalCost}`,
  247. walletTransactionId: "Transaction ID",
  248. walletTxId: "Tx ID",
  249. walletType: "Type",
  250. walletUser: "Username",
  251. walletPass: "Password",
  252. walletConfiguration: "Set wallet",
  253. },
  254. /* spell-checker: disable */
  255. es: {
  256. latest: "Novedades",
  257. profile: "Avatar",
  258. inhabitants: "Habitantes",
  259. search: "Buscar",
  260. imageSearch: "Buscar Imágenes",
  261. settings: "Configuración",
  262. continueReading: "continuar leyendo",
  263. moreComments: "comentario",
  264. readThread: "leer el resto del hilo",
  265. // navbar items
  266. extended: "Multiverso",
  267. extendedDescription: [
  268. "Cuando apoyes a alguien, podrás descargar publicaciones de habitantes que apoye, y esas publicaciones aparecerán aquí, ordenadas por las más recientes.",
  269. ],
  270. popular: "Destacadas",
  271. day: "Día",
  272. week: "Semana",
  273. month: "Mes",
  274. year: "Año",
  275. popularDescription: [
  276. "Posts de habitantes de tu red, ",
  277. strong("ordenados por difusiones"),
  278. ". Selecciona el periodo de tiempo, para obtener una lista.",
  279. ],
  280. latestDescription: [
  281. strong("Posts"),
  282. " tuyos y de habitantes que apoyas, ordenados por los más recientes.",
  283. ],
  284. topics: "Temas",
  285. topicsDescription: [
  286. strong("Temas"),
  287. " tuyas y de habitantes que apoyas, ordenadas por las más recientes. Selecciona la hora de publicación para leer el hilo completo.",
  288. ],
  289. summaries: "Resúmenes",
  290. summariesDescription: [
  291. strong("Temas y algunos comentarios"),
  292. " tuyos y de habitantes que apoyas, ordenado por lo más reciente. Selecciona la hora de publicación para leer el hilo completo.",
  293. ],
  294. threads: "Hilos",
  295. threadsDescription: [
  296. strong("Posts que tienen comentarios"),
  297. " 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.",
  298. ],
  299. manualMode: "Modo manual",
  300. mentions: "Menciones",
  301. mentionsDescription: [
  302. strong("Posts que te @mencionan"),
  303. ", ordenados por los más recientes.",
  304. ],
  305. private: "Buzón",
  306. peers: "Enlaces",
  307. privateDescription: [
  308. "Los comentarios más recientes de ",
  309. strong("hilos privados que te incluyen"),
  310. ". 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.",
  311. ],
  312. // post actions
  313. comment: "Comentar",
  314. reply: "Responder",
  315. subtopic: "Subhilo",
  316. json: "JSON",
  317. // modules
  318. modules: "Módulos",
  319. modulesViewTitle: "Módulos",
  320. modulesViewDescription: "Configura tu entorno activando y desactivando módulos.",
  321. inbox: "Buzón",
  322. multiverse: "Multiverso",
  323. popularLabel: "⌘ Destacadas",
  324. topicsLabel: "ϟ Temas",
  325. summariesLabel: "※ Resúmenes",
  326. threadsLabel: "♺ Hilos",
  327. multiverseLabel: "∞ Multiverso",
  328. latestLabel: "☄ Novedades",
  329. inboxLabel: "☂ Buzón",
  330. invitesLabel: "ꔹ Invitaciones",
  331. walletLabel: "❄ Cartera",
  332. saveSettings: "Salvar configuración",
  333. // relationships
  334. relationshipNotFollowing: "",
  335. relationshipTheyFollow: "",
  336. relationshipMutuals: "",
  337. relationshipFollowing: "Apoyando",
  338. relationshipYou: "Tú",
  339. relationshipBlocking: "Bloqueado",
  340. relationshipNone: "",
  341. relationshipConflict: "",
  342. relationshipBlockingPost: "Post bloqueado",
  343. unfollow: "Dejar de apoyar",
  344. follow: "Apoyar",
  345. block: "Bloquear",
  346. unblock: "Desbloquear",
  347. newerPosts: "Nuevos posts",
  348. olderPosts: "Anteriores posts",
  349. feedRangeEmpty: "El rango requerido está vacío para éste hilo. Prueba a ver el ",
  350. seeFullFeed: "hilo completo",
  351. feedEmpty: "No tienes posts de ésta cuenta.",
  352. beginningOfFeed: "Éste es el comienzo del hilo",
  353. noNewerPosts: "No se han recibido nuevos posts aún.",
  354. // spreads view
  355. viewLikes: "Ver difusiones",
  356. spreadedDescription: "Listado de posts difundidos del habitante.",
  357. likedBy: " -> Difusiones",
  358. // composer
  359. attachFiles: "Agregar archivos",
  360. mentionsMatching: "Menciones coincidentes",
  361. preview: "Vista previa",
  362. publish: "Escribir",
  363. contentWarningPlaceholder: "Añade un asunto al post (opcional)",
  364. privateWarningPlaceholder: "Añade habitantes para enviar un post privado (ej: @bob @alice) (opcional)",
  365. publishWarningPlaceholder: "...",
  366. publishCustomDescription: [
  367. "RECUERDA: Debido a la tecnología blockchain, una vez publicado un post, no podrá ser editado o borrado.",
  368. ],
  369. commentWarning: [
  370. " RECUERDA: Debido a la tecnología blockchain, una vez publicado un post, no podrá ser editado o borrado.",
  371. ],
  372. commentPublic: "público",
  373. commentPrivate: "privado",
  374. commentLabel: ({ publicOrPrivate, markdownUrl }) => [
  375. ],
  376. publishLabel: ({ markdownUrl, linkTarget }) => [
  377. "RECUERDA: Debido a la tecnología blockchain, una vez publicado un post, no podrá ser editado o borrado.",
  378. ],
  379. publishCustomInfo: ({ href }) => [
  380. "Si tienes experiencia, también puedes ",
  381. a({ href }, "escribir un post avanzado"),
  382. ".",
  383. ],
  384. publishBasicInfo: ({ href }) => [
  385. "Si no tienes experiencia, lo mejor es ",
  386. a({ href }, "escribir un post normal"),
  387. ".",
  388. ],
  389. publishCustom: "Escribir post avanzado",
  390. replyLabel: ({ markdownUrl }) => [
  391. "RECUERDA: Debido a la tecnología blockchain, una vez publicados los posts, no podrán ser editados o borrados.",
  392. ],
  393. // settings-es
  394. updateit: "Obtener actualizaciones",
  395. info: "Info",
  396. settingsIntro: ({ version }) => [
  397. `Oasis: [${version}]`,
  398. ],
  399. theme: "Tema",
  400. themeIntro:
  401. "Elige un tema.",
  402. setTheme: "Seleccionar tema",
  403. language: "Idioma",
  404. languageDescription:
  405. "Si quieres usar otro idioma, seleccionalo aquí.",
  406. setLanguage: "Seleccionar idioma",
  407. status: "Estado",
  408. peerConnections: "Enlaces",
  409. online: "Online",
  410. supported: "Soportados",
  411. recommended: "Recomendados",
  412. blocked: "Bloqueados",
  413. noConnections: "Sin enlaces conectados.",
  414. noSupportedConnections: "Sin enlaces soportados.",
  415. noBlockedConnections: "Sin enlaces bloqueados.",
  416. noRecommendedConnections: "Sin enlaces recomendados.",
  417. connectionActionIntro:
  418. "",
  419. startNetworking: "Iniciar red",
  420. stopNetworking: "Detener red",
  421. restartNetworking: "Reiniciar red",
  422. sync: "Sincronizar",
  423. indexes: "Índices",
  424. indexesDescription:
  425. "Reconstruir la caché de forma segura, puede solucionar algunos errores si se presentan.",
  426. invites: "Invitaciones",
  427. invitesDescription:
  428. "Utiliza los códigos de invitación de los PUBs aquí.",
  429. acceptInvite: "Aceptar invitación",
  430. acceptedInvites: "Redes Federadas",
  431. noInvites: "Sin invitaciones aceptadas.",
  432. // search page
  433. searchLabel:
  434. "Busca habitantes y palabras clave, entre los posts que tienes descargados.",
  435. // posts and comments
  436. commentDescription: ({ parentUrl }) => [
  437. " comentó en el",
  438. a({ href: parentUrl }, " hilo"),
  439. ],
  440. replyDescription: ({ parentUrl }) => [
  441. " respondido al ",
  442. a({ href: parentUrl }, "post "),
  443. ],
  444. // image search page
  445. imageSearchLabel:
  446. "Busca entre los títulos de las imágenes que tienes descargadas.",
  447. // posts and comments
  448. commentTitle: ({ authorName }) => [
  449. `Comentó en el post de @${authorName}`,
  450. ],
  451. subtopicDescription: ({ parentUrl }) => [
  452. " creó un nuevo hilo para ",
  453. a({ href: parentUrl }, "este post"),
  454. ],
  455. subtopicTitle: ({ authorName }) => [
  456. `Nuevo hilo en el post de @${authorName}`,
  457. ],
  458. mysteryDescription: "publicó un post misterioso",
  459. // misc
  460. oasisDescription:
  461. "Red de Proyectos de SNH",
  462. submit: "Aceptar",
  463. editProfile: "Editar avatar",
  464. editProfileDescription:
  465. "",
  466. profileName: "Nombre del avatar (texto)",
  467. profileImage: "Imagen del avatar",
  468. profileDescription: "Descripción del avatar (Markdown)",
  469. hashtagDescription:
  470. "Posts de habitantes en tu red que referencian a ésta #etiqueta, ordenados por los más recientes.",
  471. rebuildName: "Reconstruir base de datos",
  472. wallet: "Cartera",
  473. walletAddress: "Dirección",
  474. walletAmount: "Cantidad",
  475. walletAddressLine: ({ address }) => `Dirección: ${address}`,
  476. walletAmountLine: ({ amount }) => `Cantidad: ${amount} ECO`,
  477. walletBack: "Atrás",
  478. walletBalanceLine: ({ balance }) => `${balance} ECO`,
  479. walletConfirm: "Confirmar",
  480. walletCnfrs: "Cnfrs",
  481. walletDescription: "Administra tus activos digitales, incluyendo el envío y recepción de ECOin, consulta de saldo e historial de transacciones.",
  482. walletDate: "Fecha",
  483. walletFee: "Tarifa (A mayor tarifa, más rápido se procesa tu transacción)",
  484. walletFeeLine: ({ fee }) => `Tarifa: ${fee} ECO`,
  485. walletHistory: "Historial",
  486. walletReceive: "Recibir",
  487. walletReset: "Restablecer",
  488. walletSend: "Enviar",
  489. walletStatus: "Estado",
  490. walletDisconnected: "Cartera ECOin desconectada. Revisa la configuración.",
  491. walletSentToLine: ({ destination, amount }) => `Enviados ${amount} ECO a ${destination}.`,
  492. walletSettingsTitle: "Cartera",
  493. walletSettingsDescription: "Integra Oasis con tu cartera ECOin.",
  494. walletStatusMessages: {
  495. invalid_amount: "Cantidad inválida",
  496. invalid_dest: "Dirección de destino inválida",
  497. invalid_fee: "Tarifa inválida",
  498. validation_errors: "Errores de validación",
  499. send_tx_success: "Transacción exitosa",
  500. },
  501. walletTitle: "Cartera",
  502. walletTotalCostLine: ({ totalCost }) => `Coste total: ${totalCost} ECO`,
  503. walletTransactionId: "ID de transacción",
  504. walletTxId: "Tx ID",
  505. walletType: "Tipo",
  506. walletUser: "Nombre de usuario",
  507. walletPass: "Contraseña",
  508. walletConfiguration: "Configurar cartera",
  509. },
  510. };
  511. module.exports = i18n;