{"id":389299,"date":"2024-12-16T07:43:00","date_gmt":"2024-12-16T13:43:00","guid":{"rendered":"http:\/\/www.r-bloggers.com\/?guid=b8acbb34e6e3c55116b1fa7cc7a11389"},"modified":"2024-12-16T07:43:44","modified_gmt":"2024-12-16T13:43:44","slug":"use-an-llm-to-translate-help-documentation-on-the-fly","status":"publish","type":"post","link":"https:\/\/www.r-bloggers.com\/2024\/12\/use-an-llm-to-translate-help-documentation-on-the-fly\/","title":{"rendered":"Use an LLM to translate help documentation on-the-fly"},"content":{"rendered":"<!-- \r\n<div style=\"min-height: 30px;\">\r\n[social4i size=\"small\" align=\"align-left\"]\r\n<\/div>\r\n-->\r\n\r\n<div style=\"border: 1px solid; background: none repeat scroll 0 0 #EDEDED; margin: 1px; font-size: 12px;\">\r\n[This article was first published on  <strong><a href=\"http:\/\/gettinggeneticsdone.blogspot.com\/2024\/12\/repost-llm-translate-documentation.html\"> Getting Genetics Done<\/a><\/strong>, and kindly contributed to <a href=\"https:\/\/www.r-bloggers.com\/\" rel=\"nofollow\">R-bloggers<\/a>].  (You can report issue about the content on this page <a href=\"https:\/\/www.r-bloggers.com\/contact-us\/\">here<\/a>)\r\n<hr>Want to share your content on R-bloggers?<a href=\"https:\/\/www.r-bloggers.com\/add-your-blog\/\" rel=\"nofollow\"> click here<\/a> if you have a blog, or <a href=\"http:\/\/r-posts.com\/\" rel=\"nofollow\"> here<\/a> if you don't.\r\n<\/div>\n<p><mark>Reposted from <b>Paired Ends<\/b> at\u00a0<a href=\"https:\/\/blog.stephenturner.us\/p\/llm-translate-documentation\" rel=\"nofollow\" target=\"_blank\">https:\/\/blog.stephenturner.us\/p\/llm-translate-documentation<\/mark><\/a>.<\/p><p>&#8212;<\/p><h3 class=\"subtitle\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; background-color: white; color: var(--print_secondary, var(--print_secondary_on_web_bg_color, var(--print_secondary, var(--color-fg-secondary)))); font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: var(--font-size-18); font-weight: 400; line-height: var(--line-height-24); margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: var(--size-12);\">The lang package overrides the ? and help() functions in your R session. The translated help page will appear in the help pane in RStudio or Positron. It can also translate your Roxygen documentation.<\/h3><div class=\"pencraft pc-display-flex pc-flexDirection-column pc-paddingBottom-16 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; color: #363737; display: flex; flex-direction: column; font-family: Spectral, serif, system-ui, -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"; font-size: 19px; list-style: none; padding-bottom: 16px; text-decoration-line: unset;\"><div class=\"pencraft pc-display-flex pc-flexDirection-column pc-paddingTop-16 pc-paddingBottom-16 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; flex-direction: column; list-style: none; padding-bottom: 16px; padding-top: 16px; text-decoration: unset;\"><span style=\"background-color: transparent;\">&#8212;<\/span><h2 class=\"header-anchor-post\" style=\"--highlight-bg: rgba(var(--color-bg-accent-themed-rgb), 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: 1.625em; font-weight: var(--font_weight_headings_preset, bold); line-height: 1.16em; margin: 0px 0px 0.625em; position: relative;\">Using LLMs in R<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity var(--animation-smoothing) var(--animation-timing-fast); width: 44px;\"><div class=\"pencraft pc-display-contents pc-reset _pubTheme_c2zmd_1\" style=\"--border-default: 1px solid var(--color-detail-themed); --border-focus: 1px solid var(--color-accent-primary); --border-primary: 1px solid var(--color-fg-primary); --color-accent-fg-orange: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-accent-inverse: var(--color_theme_print_on_pop, var(--color-bg-primary)); --color-accent-primary: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-bg-accent-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-accent-rgb: var(--color_theme_bg_pop_rgb, var(--color-light-accent-orange-rgb)); --color-bg-accent: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-elevated-hover: var(--color_theme_bg_contrast_2, var(--color-bg-primary-hover)); --color-bg-elevated-primary: var(--color_theme_bg_contrast_1, var(--color-bg-primary)); --color-bg-elevated-secondary: var(--color_theme_bg_contrast_2, var(--color-light-bg-elevated-secondary)); --color-bg-elevated: var(--color_theme_bg_contrast_1, var(--color-light-bg-elevated-primary)); --color-bg-primary-hover: var(--color_theme_bg_contrast_1, var(--color-light-bg-primary-hover)); --color-bg-primary: var(--web_bg_color, var(--color-light-bg-primary)); --color-bg-secondary: var(--color_theme_bg_contrast_1, var(--color-light-bg-secondary)); --color-bg-tertiary: var(--color_theme_bg_contrast_2, var(--color-light-bg-tertiary)); --color-button-disabled-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-disabled-fg: var(--color-fg-tertiary, var(--color-light-fg-primary)); --color-button-primary-bg-hover: var(--color_theme_bg_pop_darken, var(--color-light-button-primary-bg-hover)); --color-button-primary-bg: var(--color_theme_bg_pop, var(--color-light-button-primary-bg)); --color-button-primary-fg-hover: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-primary-fg: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: var(--color-fg-primary); --color-button-quaternary-fg: var(--color-fg-secondary); --color-button-secondary-accent-bg-hover: var(--color-bg-accent-hover, rgb(var(--color-primitive-orange-rgb), .2)); --color-button-secondary-accent-bg: var(--color-bg-accent, var(--color-light-accent-bg-orange)); --color-button-secondary-accent-fg-hover: var(--color-button-secondary-accent-fg); --color-button-secondary-accent-fg: var(--color_theme_bg_pop, var(--color-light-accent-fg-orange)); --color-button-secondary-bg-hover: var(--color-bg-tertiary, var(--color-light-bg-tertiary)); --color-button-secondary-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-secondary-fg-hover: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-secondary-fg: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-tertiary-bg-hover: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: var(--color-button-tertiary-fg); --color-button-tertiary-fg: var(--color-button-secondary-fg); --color-fg-primary: var(--print_on_web_bg_color, var(--color-light-fg-primary)); --color-fg-secondary: var(--print_secondary_on_web_bg_color, var(--color-light-fg-secondary)); --color-fg-tertiary: var(--color_theme_bg_contrast_4, var(--color-light-fg-tertiary)); --color-highlight-bg: var(--color-bg-accent-primary); --color-highlight-fg: var(--color-accent-primary); --color-highlight-self-bg: var(--color-bg-accent-primary); --color-highlight-self-fg: var(--color-accent-primary); --color-utility-detail: var(--color_theme_bg_contrast_2, var(--color-light-utility-detail)); --error-input-ring: 0 0 0 2px var(--color-semantic-error-utility-detail); --error-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-semantic-error-fg-primary), 0 0 0 5px var(--color-semantic-error-utility-detail); --focus-input-ring: 0 0 0 2px var(--color-bg-accent-primary); --focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-accent-primary), 0 0 0 5px var(--color-bg-accent-primary); --inner-border-default: inset 0 0 0 1px var(--color-detail-themed); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset header-anchor offset-top\" id=\"\u00a7using-llms-in-r\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: calc(-1*72px - var(--size-20));\"><\/div><button class=\"pencraft pc-reset pencraft _iconButton2_bxx6e_689 _iconButtonBase_bxx6e_183 _buttonBase_bxx6e_1 _buttonNew_bxx6e_97 _size_sm_bxx6e_158 _priority_secondary_bxx6e_46\" data-href=\"https:\/\/blog.stephenturner.us\/i\/153020937\/using-llms-in-r\" style=\"--color-button-bg: var(--color-button-secondary-bg); --color-button-fg: var(--color-button-secondary-fg); --color-button-hover-bg: var(--color-button-secondary-bg-hover); --color-button-hover-fg: var(--color-button-secondary-fg-hover); --size: var(--size-32); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: transparent; border-radius: var(--border-radius-sm); border-style: solid; border-width: 1px; cursor: pointer; display: flex; flex: 0 0 auto; font-family: var(--font-family-text); font-size: unset; height: var(--size); justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: var(--animate-hover); width: var(--size);\" tabindex=\"0\" type=\"button\"><svg class=\"lucide lucide-link\" fill=\"none\" height=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg><\/button><\/div><\/div><\/h2><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">Most of the developer tooling for AI\/LLM training and evaluation is Python-centric, but just over the past few months we\u2019ve seen a surge of new tooling for AI\/LLM\u00a0<\/span><em style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">applications<\/em><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0for the R ecosystem.<\/span><\/p><ul style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-top: 0px; padding: 0px;\"><li style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-8) 0 0 var(--size-32);\"><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin-bottom: 0px; padding-left: var(--size-4);\"><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><a href=\"https:\/\/github.com\/hauselin\/ollama-r\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">ollamar<\/a><\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0and\u00a0<\/span><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><a href=\"https:\/\/github.com\/JBGruber\/rollama\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">rollama<\/a><\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0provide wrappers around the Ollama API allowing you to run LLMs locally on your machine. I recently wrote a few posts, one demonstrating how to use ollamar, and another demonstrating a package that uses ollama internally.<\/span><\/p><div class=\"_digestPostEmbed_1cl67_1\" data-component-name=\"DigestPostEmbed\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-bottom: var(--size-20); padding: 0px; position: relative;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/use-r-to-prompt-a-local-llm-with\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><div class=\"pencraft pc-display-flex pc-gap-16 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 16px; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/use-r-to-prompt-a-local-llm-with\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><div class=\"pencraft pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; height: 70px; list-style: none; text-decoration: unset; width: 70px;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_140,h_140,c_fill,f_webp,q_auto:good,fl_progressive:steep,g_auto\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838aae13-ccc7-4441-bc0f-778cc6613243_1503x1156.png\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img loading=\"lazy\" alt=\"Use R to prompt a local LLM with ollamar\" class=\"_img_16u6n_1 _smSquare_1cl67_41 pencraft pc-reset\" height=\"140\" sizes=\"100vw\" src=\"https:\/\/i0.wp.com\/substackcdn.com\/image\/fetch\/w_140,h_140,c_fill,f_auto,q_auto:good,fl_progressive:steep,g_auto\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F838aae13-ccc7-4441-bc0f-778cc6613243_1503x1156.png?resize=140%2C140&#038;ssl=1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: 70px !important; list-style: none; margin: 0px auto; max-width: 100%; object-fit: cover; text-decoration: unset; width: 70px;\" width=\"140\" data-recalc-dims=\"1\" \/><\/picture><\/div><\/a><div class=\"pencraft pc-display-flex pc-flexDirection-column pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; flex-direction: column; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/use-r-to-prompt-a-local-llm-with\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><h4 class=\"pencraft pc-reset _color-pub-primary-text_h3mln_190 _line-height-24_h3mln_83 _font-display_h3mln_103 _size-20_h3mln_59 _weight-bold_h3mln_151 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; color: var(--color-primary-themed); font-family: var(--font-family-title); font-size: 20px; line-height: 24px; list-style: none; margin: 0px; text-decoration: unset;\">Use R to prompt a local LLM with ollamar<\/h4><\/a><div class=\"pencraft pc-display-flex pc-gap-4 pc-alignItems-center pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; gap: 4px; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/use-r-to-prompt-a-local-llm-with\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _line-height-20_h3mln_80 _font-meta_h3mln_115 _size-11_h3mln_31 _weight-medium_h3mln_145 _transform-uppercase_h3mln_237 _reset_h3mln_1 _meta_h3mln_437\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); font-family: var(--font-family-meta); font-size: 11px; letter-spacing: 0.2px; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset; text-transform: uppercase;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/use-r-to-prompt-a-local-llm-with\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><a class=\"_inheritColor_1cl67_59\" href=\"https:\/\/substack.com\/profile\/1536121-stephen-turner\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" rel=\"nofollow\" target=\"_blank\">Stephen Turner<\/a><\/div><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); list-style: none; margin: 0px; text-decoration: unset;\">\u00b7<\/div><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _line-height-20_h3mln_80 _font-meta_h3mln_115 _size-11_h3mln_31 _weight-medium_h3mln_145 _transform-uppercase_h3mln_237 _reset_h3mln_1 _meta_h3mln_437\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); font-family: var(--font-family-meta); font-size: 11px; letter-spacing: 0.2px; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset; text-transform: uppercase;\">Aug 14<\/div><\/div><div class=\"pencraft pc-display-flex pc-gap-16 pc-paddingTop-0 pc-paddingBottom-0 pc-alignItems-center pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; gap: 16px; list-style: none; padding-bottom: 0px; padding-top: 0px; text-decoration: unset;\"><a class=\"pencraft pc-reset _align-center_h3mln_13 _line-height-20_h3mln_80 _font-text_h3mln_106 _size-13_h3mln_39 _weight-medium_h3mln_145 _reset_h3mln_1\" href=\"https:\/\/blog.stephenturner.us\/p\/use-r-to-prompt-a-local-llm-with\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-family: var(--font-family-text); font-size: 13px; line-height: 20px; list-style: none; margin: 0px; text-align: center; text-decoration: unset;\" rel=\"nofollow\" target=\"_blank\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-alignItems-center pc-reset _link_1cl67_63\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; color: var(--color-accent-themed); display: flex; gap: 8px; list-style: none;\"><span class=\"pencraft pc-reset _color-pub-accent_h3mln_199 _line-height-20_h3mln_80 _font-text_h3mln_106 _size-14_h3mln_43 _weight-semibold_h3mln_148 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-accent-themed); font-family: var(--font-family-text); font-size: 14px; font-weight: 600; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset;\">Read full story<\/span><svg class=\"lucide lucide-arrow-right\" fill=\"none\" height=\"16\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"16\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M5 12h14\"><\/path><path d=\"m12 5 7 7-7 7\"><\/path><\/svg><\/div><\/a><\/div><\/div><\/div><\/div><div class=\"_digestPostEmbed_1cl67_1\" data-component-name=\"DigestPostEmbed\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-bottom: var(--size-20); padding: 0px; position: relative;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><div class=\"pencraft pc-display-flex pc-gap-16 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 16px; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><div class=\"pencraft pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; height: 70px; list-style: none; text-decoration: unset; width: 70px;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_140,h_140,c_fill,f_webp,q_auto:good,fl_progressive:steep,g_auto\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6773a849-41ed-4bef-89bd-3c00f5188c87_984x999.png\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img loading=\"lazy\" alt=\"biorecap: an R package for summarizing bioRxiv preprints with a local LLM\" class=\"_img_16u6n_1 _smSquare_1cl67_41 pencraft pc-reset\" height=\"140\" sizes=\"100vw\" src=\"https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_140,h_140,c_fill,f_auto,q_auto:good,fl_progressive:steep,g_auto\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6773a849-41ed-4bef-89bd-3c00f5188c87_984x999.png?resize=140%2C140&#038;ssl=1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: 70px !important; list-style: none; margin: 0px auto; max-width: 100%; object-fit: cover; text-decoration: unset; width: 70px;\" width=\"140\" data-recalc-dims=\"1\" \/><\/picture><\/div><\/a><div class=\"pencraft pc-display-flex pc-flexDirection-column pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; flex-direction: column; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><h4 class=\"pencraft pc-reset _color-pub-primary-text_h3mln_190 _line-height-24_h3mln_83 _font-display_h3mln_103 _size-20_h3mln_59 _weight-bold_h3mln_151 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; color: var(--color-primary-themed); font-family: var(--font-family-title); font-size: 20px; line-height: 24px; list-style: none; margin: 0px; text-decoration: unset;\">biorecap: an R package for summarizing bioRxiv preprints with a local LLM<\/h4><\/a><div class=\"pencraft pc-display-flex pc-gap-4 pc-alignItems-center pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; gap: 4px; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _line-height-20_h3mln_80 _font-meta_h3mln_115 _size-11_h3mln_31 _weight-medium_h3mln_145 _transform-uppercase_h3mln_237 _reset_h3mln_1 _meta_h3mln_437\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); font-family: var(--font-family-meta); font-size: 11px; letter-spacing: 0.2px; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset; text-transform: uppercase;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><a class=\"_inheritColor_1cl67_59\" href=\"https:\/\/substack.com\/profile\/1536121-stephen-turner\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" rel=\"nofollow\" target=\"_blank\">Stephen Turner<\/a><\/div><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); list-style: none; margin: 0px; text-decoration: unset;\">\u00b7<\/div><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _line-height-20_h3mln_80 _font-meta_h3mln_115 _size-11_h3mln_31 _weight-medium_h3mln_145 _transform-uppercase_h3mln_237 _reset_h3mln_1 _meta_h3mln_437\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); font-family: var(--font-family-meta); font-size: 11px; letter-spacing: 0.2px; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset; text-transform: uppercase;\">Aug 24<\/div><\/div><div class=\"pencraft pc-display-flex pc-gap-16 pc-paddingTop-0 pc-paddingBottom-0 pc-alignItems-center pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; gap: 16px; list-style: none; padding-bottom: 0px; padding-top: 0px; text-decoration: unset;\"><a class=\"pencraft pc-reset _align-center_h3mln_13 _line-height-20_h3mln_80 _font-text_h3mln_106 _size-13_h3mln_39 _weight-medium_h3mln_145 _reset_h3mln_1\" href=\"https:\/\/blog.stephenturner.us\/p\/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-family: var(--font-family-text); font-size: 13px; line-height: 20px; list-style: none; margin: 0px; text-align: center; text-decoration: unset;\" rel=\"nofollow\" target=\"_blank\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-alignItems-center pc-reset _link_1cl67_63\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; color: var(--color-accent-themed); display: flex; gap: 8px; list-style: none;\"><span class=\"pencraft pc-reset _color-pub-accent_h3mln_199 _line-height-20_h3mln_80 _font-text_h3mln_106 _size-14_h3mln_43 _weight-semibold_h3mln_148 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-accent-themed); font-family: var(--font-family-text); font-size: 14px; font-weight: 600; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset;\">Read full story<\/span><svg class=\"lucide lucide-arrow-right\" fill=\"none\" height=\"16\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"16\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M5 12h14\"><\/path><path d=\"m12 5 7 7-7 7\"><\/path><\/svg><\/div><\/a><\/div><\/div><\/div><\/div><\/li><li style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-8) 0 0 var(--size-32);\"><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin: 0px; padding-left: var(--size-4);\"><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><a href=\"https:\/\/elmer.tidyverse.org\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">elmer<\/a><\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0is a new package in the tidyverse that allows you to interact with many different LLMs via R (Claude, ChatGPT, Gemini, and Ollama too.<\/span><\/p><\/li><li style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-8) 0 0 var(--size-32);\"><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin: 0px; padding-left: var(--size-4);\"><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><a href=\"https:\/\/mlverse.github.io\/mall\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">mall<\/a><\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0is an interesting one that provides an easy way to run multiple LLM predictions against a data frame (sentiment analysis, summarization, classification, extraction, translation, etc).<\/span><\/p><\/li><li style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-8) 0 0 var(--size-32);\"><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin: 0px; padding-left: var(--size-4);\"><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><a href=\"https:\/\/github.com\/simonpcouch\/pal\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">pal<\/a><\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0provides LLM assistants for doing things like highlighting code and asking for things like roxygen documentation, testthat tests, etc.<\/span><\/p><\/li><li style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-8) 0 0 var(--size-32);\"><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin-bottom: 0px; padding-left: var(--size-4);\"><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><a href=\"https:\/\/gallery.shinyapps.io\/assistant\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">Shiny Assistant<\/a><\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0helps you explain how things work in Shiny, and can help build Shiny apps for you (in either R or Python).<\/span><\/p><\/li><\/ul><h2 class=\"header-anchor-post\" style=\"--highlight-bg: rgba(var(--color-bg-accent-themed-rgb), 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: 1.625em; font-weight: var(--font_weight_headings_preset, bold); line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;\">The lang package<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity var(--animation-smoothing) var(--animation-timing-fast); width: 44px;\"><div class=\"pencraft pc-display-contents pc-reset _pubTheme_c2zmd_1\" style=\"--border-default: 1px solid var(--color-detail-themed); --border-focus: 1px solid var(--color-accent-primary); --border-primary: 1px solid var(--color-fg-primary); --color-accent-fg-orange: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-accent-inverse: var(--color_theme_print_on_pop, var(--color-bg-primary)); --color-accent-primary: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-bg-accent-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-accent-rgb: var(--color_theme_bg_pop_rgb, var(--color-light-accent-orange-rgb)); --color-bg-accent: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-elevated-hover: var(--color_theme_bg_contrast_2, var(--color-bg-primary-hover)); --color-bg-elevated-primary: var(--color_theme_bg_contrast_1, var(--color-bg-primary)); --color-bg-elevated-secondary: var(--color_theme_bg_contrast_2, var(--color-light-bg-elevated-secondary)); --color-bg-elevated: var(--color_theme_bg_contrast_1, var(--color-light-bg-elevated-primary)); --color-bg-primary-hover: var(--color_theme_bg_contrast_1, var(--color-light-bg-primary-hover)); --color-bg-primary: var(--web_bg_color, var(--color-light-bg-primary)); --color-bg-secondary: var(--color_theme_bg_contrast_1, var(--color-light-bg-secondary)); --color-bg-tertiary: var(--color_theme_bg_contrast_2, var(--color-light-bg-tertiary)); --color-button-disabled-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-disabled-fg: var(--color-fg-tertiary, var(--color-light-fg-primary)); --color-button-primary-bg-hover: var(--color_theme_bg_pop_darken, var(--color-light-button-primary-bg-hover)); --color-button-primary-bg: var(--color_theme_bg_pop, var(--color-light-button-primary-bg)); --color-button-primary-fg-hover: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-primary-fg: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: var(--color-fg-primary); --color-button-quaternary-fg: var(--color-fg-secondary); --color-button-secondary-accent-bg-hover: var(--color-bg-accent-hover, rgb(var(--color-primitive-orange-rgb), .2)); --color-button-secondary-accent-bg: var(--color-bg-accent, var(--color-light-accent-bg-orange)); --color-button-secondary-accent-fg-hover: var(--color-button-secondary-accent-fg); --color-button-secondary-accent-fg: var(--color_theme_bg_pop, var(--color-light-accent-fg-orange)); --color-button-secondary-bg-hover: var(--color-bg-tertiary, var(--color-light-bg-tertiary)); --color-button-secondary-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-secondary-fg-hover: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-secondary-fg: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-tertiary-bg-hover: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: var(--color-button-tertiary-fg); --color-button-tertiary-fg: var(--color-button-secondary-fg); --color-fg-primary: var(--print_on_web_bg_color, var(--color-light-fg-primary)); --color-fg-secondary: var(--print_secondary_on_web_bg_color, var(--color-light-fg-secondary)); --color-fg-tertiary: var(--color_theme_bg_contrast_4, var(--color-light-fg-tertiary)); --color-highlight-bg: var(--color-bg-accent-primary); --color-highlight-fg: var(--color-accent-primary); --color-highlight-self-bg: var(--color-bg-accent-primary); --color-highlight-self-fg: var(--color-accent-primary); --color-utility-detail: var(--color_theme_bg_contrast_2, var(--color-light-utility-detail)); --error-input-ring: 0 0 0 2px var(--color-semantic-error-utility-detail); --error-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-semantic-error-fg-primary), 0 0 0 5px var(--color-semantic-error-utility-detail); --focus-input-ring: 0 0 0 2px var(--color-bg-accent-primary); --focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-accent-primary), 0 0 0 5px var(--color-bg-accent-primary); --inner-border-default: inset 0 0 0 1px var(--color-detail-themed); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset header-anchor offset-top\" id=\"\u00a7the-lang-package\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: calc(-1*72px - var(--size-20));\"><\/div><button class=\"pencraft pc-reset pencraft _iconButton2_bxx6e_689 _iconButtonBase_bxx6e_183 _buttonBase_bxx6e_1 _buttonNew_bxx6e_97 _size_sm_bxx6e_158 _priority_secondary_bxx6e_46\" data-href=\"https:\/\/blog.stephenturner.us\/i\/153020937\/the-lang-package\" style=\"--color-button-bg: var(--color-button-secondary-bg); --color-button-fg: var(--color-button-secondary-fg); --color-button-hover-bg: var(--color-button-secondary-bg-hover); --color-button-hover-fg: var(--color-button-secondary-fg-hover); --size: var(--size-32); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: transparent; border-radius: var(--border-radius-sm); border-style: solid; border-width: 1px; cursor: pointer; display: flex; flex: 0 0 auto; font-family: var(--font-family-text); font-size: unset; height: var(--size); justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: var(--animate-hover); width: var(--size);\" tabindex=\"0\" type=\"button\"><svg class=\"lucide lucide-link\" fill=\"none\" height=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg><\/button><\/div><\/div><\/h2><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">The\u00a0<\/span><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">lang<\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0package (<\/span><a href=\"https:\/\/github.com\/mlverse\/lang\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">source<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">,\u00a0<\/span><a href=\"https:\/\/mlverse.github.io\/lang\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">documentation<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">) is an interesting new addition to the\u00a0<\/span><a href=\"https:\/\/github.com\/mlverse\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">mlverse<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0in R. From the documentation:<\/span><\/p><blockquote style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-left: var(--size-4) solid var(--background_pop); margin: var(--size-20) 0; padding: 0px;\"><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin-left: var(--size-20);\"><code>lang<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0overrides the\u00a0<\/span><code>?<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0and\u00a0<\/span><code>help()<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0functions in your R session. If you are using RStudio or Positron, the translated help page will appear in the usual help pane.<\/span><\/p><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--print_on_web_bg_color, var(--color-fg-primary)); line-height: 1.6em; margin-left: var(--size-20);\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">If you are a package developer,\u00a0<\/span><code>lang<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0helps you translate your documentation, and to include it as part of your package.\u00a0<\/span><code>lang<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0will use the same\u00a0<\/span><code>?<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0override to display your translated help documents.<\/span><\/p><\/blockquote><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">Let\u2019s look at an example. I recently invited my colleague and co-author VP Nagraj to write about the rplanes package we\u00a0<\/span><a href=\"https:\/\/www.medrxiv.org\/content\/10.1101\/2024.08.22.24312449v1\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">published<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0and\u00a0<\/span><a href=\"https:\/\/cran.r-project.org\/package=rplanes\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">released on CRAN<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0for plausibility analysis in epidemiological forecasting.<\/span><\/p><div class=\"_digestPostEmbed_1cl67_1\" data-component-name=\"DigestPostEmbed\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin-bottom: var(--size-20); padding: 0px; position: relative;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/planes-plausibility-analysis-of-epidemiological-signals-rplanes-r-package\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><div class=\"pencraft pc-display-flex pc-gap-16 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 16px; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/planes-plausibility-analysis-of-epidemiological-signals-rplanes-r-package\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><div class=\"pencraft pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; height: 70px; list-style: none; text-decoration: unset; width: 70px;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_140,h_140,c_fill,f_webp,q_auto:good,fl_progressive:steep,g_auto\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b2a85f-6645-49e8-ad87-2446bf82eaf3_1280x962.jpeg\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img loading=\"lazy\" alt=\"PLANES: Plausibility Analysis of Epidemiological Signals\" class=\"_img_16u6n_1 _smSquare_1cl67_41 pencraft pc-reset\" height=\"140\" sizes=\"100vw\" src=\"https:\/\/i0.wp.com\/substackcdn.com\/image\/fetch\/w_140,h_140,c_fill,f_auto,q_auto:good,fl_progressive:steep,g_auto\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58b2a85f-6645-49e8-ad87-2446bf82eaf3_1280x962.jpeg?resize=140%2C140&#038;ssl=1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: 70px !important; list-style: none; margin: 0px auto; max-width: 100%; object-fit: cover; text-decoration: unset; width: 70px;\" width=\"140\" data-recalc-dims=\"1\" \/><\/picture><\/div><\/a><div class=\"pencraft pc-display-flex pc-flexDirection-column pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; flex-direction: column; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/planes-plausibility-analysis-of-epidemiological-signals-rplanes-r-package\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><h4 class=\"pencraft pc-reset _color-pub-primary-text_h3mln_190 _line-height-24_h3mln_83 _font-display_h3mln_103 _size-20_h3mln_59 _weight-bold_h3mln_151 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; color: var(--color-primary-themed); font-family: var(--font-family-title); font-size: 20px; line-height: 24px; list-style: none; margin: 0px; text-decoration: unset;\">PLANES: Plausibility Analysis of Epidemiological Signals<\/h4><\/a><div class=\"pencraft pc-display-flex pc-gap-4 pc-alignItems-center pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; gap: 4px; list-style: none; text-decoration: unset;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/planes-plausibility-analysis-of-epidemiological-signals-rplanes-r-package\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _line-height-20_h3mln_80 _font-meta_h3mln_115 _size-11_h3mln_31 _weight-medium_h3mln_145 _transform-uppercase_h3mln_237 _reset_h3mln_1 _meta_h3mln_437\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); font-family: var(--font-family-meta); font-size: 11px; letter-spacing: 0.2px; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset; text-transform: uppercase;\"><a class=\"\" href=\"https:\/\/blog.stephenturner.us\/p\/planes-plausibility-analysis-of-epidemiological-signals-rplanes-r-package\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" target=\"_blank\"><\/a><a class=\"_inheritColor_1cl67_59\" href=\"https:\/\/substack.com\/profile\/1536121-stephen-turner\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: none;\" rel=\"nofollow\" target=\"_blank\">Stephen Turner<\/a><\/div><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); list-style: none; margin: 0px; text-decoration: unset;\">\u00b7<\/div><div class=\"pencraft pc-reset _color-pub-secondary-text_h3mln_193 _line-height-20_h3mln_80 _font-meta_h3mln_115 _size-11_h3mln_31 _weight-medium_h3mln_145 _transform-uppercase_h3mln_237 _reset_h3mln_1 _meta_h3mln_437\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-secondary-themed); font-family: var(--font-family-meta); font-size: 11px; letter-spacing: 0.2px; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset; text-transform: uppercase;\">Sep 3<\/div><\/div><div class=\"pencraft pc-display-flex pc-gap-16 pc-paddingTop-0 pc-paddingBottom-0 pc-alignItems-center pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; gap: 16px; list-style: none; padding-bottom: 0px; padding-top: 0px; text-decoration: unset;\"><a class=\"pencraft pc-reset _align-center_h3mln_13 _line-height-20_h3mln_80 _font-text_h3mln_106 _size-13_h3mln_39 _weight-medium_h3mln_145 _reset_h3mln_1\" href=\"https:\/\/blog.stephenturner.us\/p\/planes-plausibility-analysis-of-epidemiological-signals-rplanes-r-package\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-family: var(--font-family-text); font-size: 13px; line-height: 20px; list-style: none; margin: 0px; text-align: center; text-decoration: unset;\" rel=\"nofollow\" target=\"_blank\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-alignItems-center pc-reset _link_1cl67_63\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; color: var(--color-accent-themed); display: flex; gap: 8px; list-style: none;\"><span class=\"pencraft pc-reset _color-pub-accent_h3mln_199 _line-height-20_h3mln_80 _font-text_h3mln_106 _size-14_h3mln_43 _weight-semibold_h3mln_148 _reset_h3mln_1\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; color: var(--color-accent-themed); font-family: var(--font-family-text); font-size: 14px; font-weight: 600; line-height: 20px; list-style: none; margin: 0px; text-decoration: unset;\">Read full story<\/span><svg class=\"lucide lucide-arrow-right\" fill=\"none\" height=\"16\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"16\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M5 12h14\"><\/path><path d=\"m12 5 7 7-7 7\"><\/path><\/svg><\/div><\/a><\/div><\/div><\/div><\/div><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">One of the first functions you might use from this package is\u00a0<\/span><code>read_forecast()<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">, which reads a probabilistic quantile forecast CSV file for downstream plausibility analysis. Let\u2019s look at the help for this function.<\/span><\/p><pre>library(rplanes)\n?read_forecast<\/pre><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/cb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":1154,\"width\":810,\"resizeWidth\":null,\"bytes\":193173,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"1154\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png?resize=450%2C1154&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png 1272w, https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb058184-23c7-418e-9afc-dc93dc23127b_810x1154.png?resize=450%2C1154&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"450\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><h3 class=\"header-anchor-post\" style=\"--highlight-bg: rgba(var(--color-bg-accent-themed-rgb), 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: 1.375em; font-weight: var(--font_weight_headings_preset, bold); line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;\">En Espa\u00f1ol<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 30.3125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity var(--animation-smoothing) var(--animation-timing-fast); width: 44px;\"><div class=\"pencraft pc-display-contents pc-reset _pubTheme_c2zmd_1\" style=\"--border-default: 1px solid var(--color-detail-themed); --border-focus: 1px solid var(--color-accent-primary); --border-primary: 1px solid var(--color-fg-primary); --color-accent-fg-orange: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-accent-inverse: var(--color_theme_print_on_pop, var(--color-bg-primary)); --color-accent-primary: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-bg-accent-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-accent-rgb: var(--color_theme_bg_pop_rgb, var(--color-light-accent-orange-rgb)); --color-bg-accent: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-elevated-hover: var(--color_theme_bg_contrast_2, var(--color-bg-primary-hover)); --color-bg-elevated-primary: var(--color_theme_bg_contrast_1, var(--color-bg-primary)); --color-bg-elevated-secondary: var(--color_theme_bg_contrast_2, var(--color-light-bg-elevated-secondary)); --color-bg-elevated: var(--color_theme_bg_contrast_1, var(--color-light-bg-elevated-primary)); --color-bg-primary-hover: var(--color_theme_bg_contrast_1, var(--color-light-bg-primary-hover)); --color-bg-primary: var(--web_bg_color, var(--color-light-bg-primary)); --color-bg-secondary: var(--color_theme_bg_contrast_1, var(--color-light-bg-secondary)); --color-bg-tertiary: var(--color_theme_bg_contrast_2, var(--color-light-bg-tertiary)); --color-button-disabled-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-disabled-fg: var(--color-fg-tertiary, var(--color-light-fg-primary)); --color-button-primary-bg-hover: var(--color_theme_bg_pop_darken, var(--color-light-button-primary-bg-hover)); --color-button-primary-bg: var(--color_theme_bg_pop, var(--color-light-button-primary-bg)); --color-button-primary-fg-hover: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-primary-fg: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: var(--color-fg-primary); --color-button-quaternary-fg: var(--color-fg-secondary); --color-button-secondary-accent-bg-hover: var(--color-bg-accent-hover, rgb(var(--color-primitive-orange-rgb), .2)); --color-button-secondary-accent-bg: var(--color-bg-accent, var(--color-light-accent-bg-orange)); --color-button-secondary-accent-fg-hover: var(--color-button-secondary-accent-fg); --color-button-secondary-accent-fg: var(--color_theme_bg_pop, var(--color-light-accent-fg-orange)); --color-button-secondary-bg-hover: var(--color-bg-tertiary, var(--color-light-bg-tertiary)); --color-button-secondary-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-secondary-fg-hover: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-secondary-fg: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-tertiary-bg-hover: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: var(--color-button-tertiary-fg); --color-button-tertiary-fg: var(--color-button-secondary-fg); --color-fg-primary: var(--print_on_web_bg_color, var(--color-light-fg-primary)); --color-fg-secondary: var(--print_secondary_on_web_bg_color, var(--color-light-fg-secondary)); --color-fg-tertiary: var(--color_theme_bg_contrast_4, var(--color-light-fg-tertiary)); --color-highlight-bg: var(--color-bg-accent-primary); --color-highlight-fg: var(--color-accent-primary); --color-highlight-self-bg: var(--color-bg-accent-primary); --color-highlight-self-fg: var(--color-accent-primary); --color-utility-detail: var(--color_theme_bg_contrast_2, var(--color-light-utility-detail)); --error-input-ring: 0 0 0 2px var(--color-semantic-error-utility-detail); --error-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-semantic-error-fg-primary), 0 0 0 5px var(--color-semantic-error-utility-detail); --focus-input-ring: 0 0 0 2px var(--color-bg-accent-primary); --focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-accent-primary), 0 0 0 5px var(--color-bg-accent-primary); --inner-border-default: inset 0 0 0 1px var(--color-detail-themed); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset header-anchor offset-top\" id=\"\u00a7en-espanol\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: calc(-1*72px - var(--size-20));\"><\/div><button class=\"pencraft pc-reset pencraft _iconButton2_bxx6e_689 _iconButtonBase_bxx6e_183 _buttonBase_bxx6e_1 _buttonNew_bxx6e_97 _size_sm_bxx6e_158 _priority_secondary_bxx6e_46\" data-href=\"https:\/\/blog.stephenturner.us\/i\/153020937\/en-espanol\" style=\"--color-button-bg: var(--color-button-secondary-bg); --color-button-fg: var(--color-button-secondary-fg); --color-button-hover-bg: var(--color-button-secondary-bg-hover); --color-button-hover-fg: var(--color-button-secondary-fg-hover); --size: var(--size-32); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: transparent; border-radius: var(--border-radius-sm); border-style: solid; border-width: 1px; cursor: pointer; display: flex; flex: 0 0 auto; font-family: var(--font-family-text); font-size: unset; height: var(--size); justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: var(--animate-hover); width: var(--size);\" tabindex=\"0\" type=\"button\"><svg class=\"lucide lucide-link\" fill=\"none\" height=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg><\/button><\/div><\/div><\/h3><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">Now let\u2019s get help in Spanish.<\/span><span class=\"footnote-hovercard-target\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: inline-block;\"><a class=\"footnote-anchor\" data-component-name=\"FootnoteAnchorToDOM\" href=\"https:\/\/blog.stephenturner.us\/p\/llm-translate-documentation#footnote-1-153020937\" id=\"footnote-anchor-1-153020937\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-size: 14px; line-height: 0; margin-left: 4px; vertical-align: super;\" target=\"_blank\">1<\/a><\/span><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0load the lang package and tell it that we\u2019re using\u00a0<\/span><a href=\"https:\/\/ai.meta.com\/blog\/llama-3-2-connect-2024-vision-edge-mobile-devices\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">llama3.2<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">.<\/span><span class=\"footnote-hovercard-target\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: inline-block;\"><a class=\"footnote-anchor\" data-component-name=\"FootnoteAnchorToDOM\" href=\"https:\/\/blog.stephenturner.us\/p\/llm-translate-documentation#footnote-2-153020937\" id=\"footnote-anchor-2-153020937\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; font-size: 14px; line-height: 0; margin-left: 4px; vertical-align: super;\" target=\"_blank\">2<\/a><\/span><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0We\u2019ll set the system language to Spanish, then ask for help again.<\/span><\/p><pre>Sys.setenv(LANGUAGE=&quot;spanish&quot;)\n?read_forecast<\/pre><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":1111,\"width\":809,\"resizeWidth\":null,\"bytes\":199973,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"1111\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png?resize=450%2C1111&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png 1272w, https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F857d01c8-3b79-43a3-8bcf-81c8f8a77491_809x1111.png?resize=450%2C1111&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"450\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">My fluency in Spanish is limited to general conversation and travel needs so I can\u2019t easily verify the accuracy of the translation of this technical language, but when I ran some of this back through Google Translate it seemed to be mostly faithful. Notice how things that shouldn\u2019t be translated aren\u2019t \u2014 function names, arguments, columns in the returned output, code in the examples.<\/p><h3 class=\"header-anchor-post\" style=\"--highlight-bg: rgba(var(--color-bg-accent-themed-rgb), 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: 1.375em; font-weight: var(--font_weight_headings_preset, bold); line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;\">\u0939\u093f\u0902\u0926\u0940 \u092e\u0947\u0902 \u2026 \u2026 \u0628\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 30.3125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity var(--animation-smoothing) var(--animation-timing-fast); width: 44px;\"><div class=\"pencraft pc-display-contents pc-reset _pubTheme_c2zmd_1\" style=\"--border-default: 1px solid var(--color-detail-themed); --border-focus: 1px solid var(--color-accent-primary); --border-primary: 1px solid var(--color-fg-primary); --color-accent-fg-orange: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-accent-inverse: var(--color_theme_print_on_pop, var(--color-bg-primary)); --color-accent-primary: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-bg-accent-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-accent-rgb: var(--color_theme_bg_pop_rgb, var(--color-light-accent-orange-rgb)); --color-bg-accent: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-elevated-hover: var(--color_theme_bg_contrast_2, var(--color-bg-primary-hover)); --color-bg-elevated-primary: var(--color_theme_bg_contrast_1, var(--color-bg-primary)); --color-bg-elevated-secondary: var(--color_theme_bg_contrast_2, var(--color-light-bg-elevated-secondary)); --color-bg-elevated: var(--color_theme_bg_contrast_1, var(--color-light-bg-elevated-primary)); --color-bg-primary-hover: var(--color_theme_bg_contrast_1, var(--color-light-bg-primary-hover)); --color-bg-primary: var(--web_bg_color, var(--color-light-bg-primary)); --color-bg-secondary: var(--color_theme_bg_contrast_1, var(--color-light-bg-secondary)); --color-bg-tertiary: var(--color_theme_bg_contrast_2, var(--color-light-bg-tertiary)); --color-button-disabled-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-disabled-fg: var(--color-fg-tertiary, var(--color-light-fg-primary)); --color-button-primary-bg-hover: var(--color_theme_bg_pop_darken, var(--color-light-button-primary-bg-hover)); --color-button-primary-bg: var(--color_theme_bg_pop, var(--color-light-button-primary-bg)); --color-button-primary-fg-hover: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-primary-fg: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: var(--color-fg-primary); --color-button-quaternary-fg: var(--color-fg-secondary); --color-button-secondary-accent-bg-hover: var(--color-bg-accent-hover, rgb(var(--color-primitive-orange-rgb), .2)); --color-button-secondary-accent-bg: var(--color-bg-accent, var(--color-light-accent-bg-orange)); --color-button-secondary-accent-fg-hover: var(--color-button-secondary-accent-fg); --color-button-secondary-accent-fg: var(--color_theme_bg_pop, var(--color-light-accent-fg-orange)); --color-button-secondary-bg-hover: var(--color-bg-tertiary, var(--color-light-bg-tertiary)); --color-button-secondary-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-secondary-fg-hover: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-secondary-fg: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-tertiary-bg-hover: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: var(--color-button-tertiary-fg); --color-button-tertiary-fg: var(--color-button-secondary-fg); --color-fg-primary: var(--print_on_web_bg_color, var(--color-light-fg-primary)); --color-fg-secondary: var(--print_secondary_on_web_bg_color, var(--color-light-fg-secondary)); --color-fg-tertiary: var(--color_theme_bg_contrast_4, var(--color-light-fg-tertiary)); --color-highlight-bg: var(--color-bg-accent-primary); --color-highlight-fg: var(--color-accent-primary); --color-highlight-self-bg: var(--color-bg-accent-primary); --color-highlight-self-fg: var(--color-accent-primary); --color-utility-detail: var(--color_theme_bg_contrast_2, var(--color-light-utility-detail)); --error-input-ring: 0 0 0 2px var(--color-semantic-error-utility-detail); --error-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-semantic-error-fg-primary), 0 0 0 5px var(--color-semantic-error-utility-detail); --focus-input-ring: 0 0 0 2px var(--color-bg-accent-primary); --focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-accent-primary), 0 0 0 5px var(--color-bg-accent-primary); --inner-border-default: inset 0 0 0 1px var(--color-detail-themed); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset header-anchor offset-top\" id=\"\u00a7\u0939\u0926-\u092e-\u0628\u0627\u0644\u0644\u063a\u0629-\u0627\u0644\u0639\u0631\u0628\u064a\u0629\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: calc(-1*72px - var(--size-20));\"><\/div><button class=\"pencraft pc-reset pencraft _iconButton2_bxx6e_689 _iconButtonBase_bxx6e_183 _buttonBase_bxx6e_1 _buttonNew_bxx6e_97 _size_sm_bxx6e_158 _priority_secondary_bxx6e_46\" data-href=\"https:\/\/blog.stephenturner.us\/i\/153020937\/\u0939\u0926-\u092e-\u0628\u0627\u0644\u0644\u063a\u0629-\u0627\u0644\u0639\u0631\u0628\u064a\u0629\" style=\"--color-button-bg: var(--color-button-secondary-bg); --color-button-fg: var(--color-button-secondary-fg); --color-button-hover-bg: var(--color-button-secondary-bg-hover); --color-button-hover-fg: var(--color-button-secondary-fg-hover); --size: var(--size-32); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: transparent; border-radius: var(--border-radius-sm); border-style: solid; border-width: 1px; cursor: pointer; display: flex; flex: 0 0 auto; font-family: var(--font-family-text); font-size: unset; height: var(--size); justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: var(--animate-hover); width: var(--size);\" tabindex=\"0\" type=\"button\"><svg class=\"lucide lucide-link\" fill=\"none\" height=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg><\/button><\/div><\/div><\/h3><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">What about non-Western languages?<\/p><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">Let\u2019s try Hindi!<\/p><pre>Sys.setenv(LANGUAGE=&quot;hindi&quot;)\n?read_forecast<\/pre><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":1153,\"width\":809,\"resizeWidth\":null,\"bytes\":197943,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"1153\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i0.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png?resize=450%2C1153&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png 1272w, https:\/\/i0.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c9e73f5-316e-45c2-9991-7dc3383ba997_809x1153.png?resize=450%2C1153&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"450\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">I can\u2019t verify the accuracy of this translation beyond running some of the text back through Google Translate, but in doing so at first glance the translation isn\u2019t bad.<\/p><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">What about Arabic?<\/p><pre>Sys.setenv(LANGUAGE=&quot;arabic&quot;)\n?read_forecast<\/pre><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":926,\"width\":807,\"resizeWidth\":null,\"bytes\":158215,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"926\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i1.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png?resize=450%2C926&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png 1272w, https:\/\/i1.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0f290e-d033-4140-8c86-a052e5092c64_807x926.png?resize=450%2C926&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"450\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">If you\u2019re a native speaker of any of these, I\u2019d love to know what you think. Chat with\u00a0<\/span><a href=\"https:\/\/bsky.app\/profile\/stephenturner.us\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">me on Bluesky (@stephenturner.us)<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">.<\/span><\/p><h2 class=\"header-anchor-post\" style=\"--highlight-bg: rgba(var(--color-bg-accent-themed-rgb), 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: 1.625em; font-weight: var(--font_weight_headings_preset, bold); line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;\">Translating your package\u2019s Roxygen docs<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 35.8125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity var(--animation-smoothing) var(--animation-timing-fast); width: 44px;\"><div class=\"pencraft pc-display-contents pc-reset _pubTheme_c2zmd_1\" style=\"--border-default: 1px solid var(--color-detail-themed); --border-focus: 1px solid var(--color-accent-primary); --border-primary: 1px solid var(--color-fg-primary); --color-accent-fg-orange: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-accent-inverse: var(--color_theme_print_on_pop, var(--color-bg-primary)); --color-accent-primary: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-bg-accent-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-accent-rgb: var(--color_theme_bg_pop_rgb, var(--color-light-accent-orange-rgb)); --color-bg-accent: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-elevated-hover: var(--color_theme_bg_contrast_2, var(--color-bg-primary-hover)); --color-bg-elevated-primary: var(--color_theme_bg_contrast_1, var(--color-bg-primary)); --color-bg-elevated-secondary: var(--color_theme_bg_contrast_2, var(--color-light-bg-elevated-secondary)); --color-bg-elevated: var(--color_theme_bg_contrast_1, var(--color-light-bg-elevated-primary)); --color-bg-primary-hover: var(--color_theme_bg_contrast_1, var(--color-light-bg-primary-hover)); --color-bg-primary: var(--web_bg_color, var(--color-light-bg-primary)); --color-bg-secondary: var(--color_theme_bg_contrast_1, var(--color-light-bg-secondary)); --color-bg-tertiary: var(--color_theme_bg_contrast_2, var(--color-light-bg-tertiary)); --color-button-disabled-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-disabled-fg: var(--color-fg-tertiary, var(--color-light-fg-primary)); --color-button-primary-bg-hover: var(--color_theme_bg_pop_darken, var(--color-light-button-primary-bg-hover)); --color-button-primary-bg: var(--color_theme_bg_pop, var(--color-light-button-primary-bg)); --color-button-primary-fg-hover: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-primary-fg: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: var(--color-fg-primary); --color-button-quaternary-fg: var(--color-fg-secondary); --color-button-secondary-accent-bg-hover: var(--color-bg-accent-hover, rgb(var(--color-primitive-orange-rgb), .2)); --color-button-secondary-accent-bg: var(--color-bg-accent, var(--color-light-accent-bg-orange)); --color-button-secondary-accent-fg-hover: var(--color-button-secondary-accent-fg); --color-button-secondary-accent-fg: var(--color_theme_bg_pop, var(--color-light-accent-fg-orange)); --color-button-secondary-bg-hover: var(--color-bg-tertiary, var(--color-light-bg-tertiary)); --color-button-secondary-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-secondary-fg-hover: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-secondary-fg: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-tertiary-bg-hover: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: var(--color-button-tertiary-fg); --color-button-tertiary-fg: var(--color-button-secondary-fg); --color-fg-primary: var(--print_on_web_bg_color, var(--color-light-fg-primary)); --color-fg-secondary: var(--print_secondary_on_web_bg_color, var(--color-light-fg-secondary)); --color-fg-tertiary: var(--color_theme_bg_contrast_4, var(--color-light-fg-tertiary)); --color-highlight-bg: var(--color-bg-accent-primary); --color-highlight-fg: var(--color-accent-primary); --color-highlight-self-bg: var(--color-bg-accent-primary); --color-highlight-self-fg: var(--color-accent-primary); --color-utility-detail: var(--color_theme_bg_contrast_2, var(--color-light-utility-detail)); --error-input-ring: 0 0 0 2px var(--color-semantic-error-utility-detail); --error-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-semantic-error-fg-primary), 0 0 0 5px var(--color-semantic-error-utility-detail); --focus-input-ring: 0 0 0 2px var(--color-bg-accent-primary); --focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-accent-primary), 0 0 0 5px var(--color-bg-accent-primary); --inner-border-default: inset 0 0 0 1px var(--color-detail-themed); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset header-anchor offset-top\" id=\"\u00a7translating-your-packages-roxygen-docs\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: calc(-1*72px - var(--size-20));\"><\/div><button class=\"pencraft pc-reset pencraft _iconButton2_bxx6e_689 _iconButtonBase_bxx6e_183 _buttonBase_bxx6e_1 _buttonNew_bxx6e_97 _size_sm_bxx6e_158 _priority_secondary_bxx6e_46\" data-href=\"https:\/\/blog.stephenturner.us\/i\/153020937\/translating-your-packages-roxygen-docs\" style=\"--color-button-bg: var(--color-button-secondary-bg); --color-button-fg: var(--color-button-secondary-fg); --color-button-hover-bg: var(--color-button-secondary-bg-hover); --color-button-hover-fg: var(--color-button-secondary-fg-hover); --size: var(--size-32); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: transparent; border-radius: var(--border-radius-sm); border-style: solid; border-width: 1px; cursor: pointer; display: flex; flex: 0 0 auto; font-family: var(--font-family-text); font-size: unset; height: var(--size); justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: var(--animate-hover); width: var(--size);\" tabindex=\"0\" type=\"button\"><svg class=\"lucide lucide-link\" fill=\"none\" height=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg><\/button><\/div><\/div><\/h2><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">The\u00a0<\/span><a href=\"https:\/\/mlverse.github.io\/lang\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">lang documentation<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0has a great section on using lang as a package developer. You can translate all of your Roxygen documentation into the desired language, then edit those translations by hand as needed. Then a special helper function re-roxygenizes your docs placing them in a special\u00a0<\/span><strong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">inst\/man-lang<\/strong><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0folder. The\u00a0<\/span><a href=\"https:\/\/mlverse.github.io\/lang\/\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">lang docs<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">\u00a0explain how this all works, but once you do this, when a user has the lang package loaded, they\u2019ll get your pre-computed and optionally edited translations instead of having to wait around for the LLM to translate the help.<\/span><\/p><h3 class=\"header-anchor-post\" style=\"--highlight-bg: rgba(var(--color-bg-accent-themed-rgb), 0.2); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; font-family: var(--font_family_headings, var(--font_family_headings_preset, var(--font-family-title))); font-size: 1.375em; font-weight: var(--font_weight_headings_preset, bold); line-height: 1.16em; margin: 1em 0px 0.625em; position: relative;\">Demo<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: 30.3125px; list-style: none; opacity: 0; position: absolute; text-decoration: unset; top: 0px; transform: translate(-100%, 0px); transition: opacity var(--animation-smoothing) var(--animation-timing-fast); width: 44px;\"><div class=\"pencraft pc-display-contents pc-reset _pubTheme_c2zmd_1\" style=\"--border-default: 1px solid var(--color-detail-themed); --border-focus: 1px solid var(--color-accent-primary); --border-primary: 1px solid var(--color-fg-primary); --color-accent-fg-orange: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-accent-inverse: var(--color_theme_print_on_pop, var(--color-bg-primary)); --color-accent-primary: var(--color_theme_bg_pop, var(--color-accent-fg-orange)); --color-bg-accent-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary-hover: rgba(var(--color-bg-accent-themed-rgb), .3); --color-bg-accent-primary: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-accent-rgb: var(--color_theme_bg_pop_rgb, var(--color-light-accent-orange-rgb)); --color-bg-accent: rgba(var(--color-bg-accent-themed-rgb), .15); --color-bg-elevated-hover: var(--color_theme_bg_contrast_2, var(--color-bg-primary-hover)); --color-bg-elevated-primary: var(--color_theme_bg_contrast_1, var(--color-bg-primary)); --color-bg-elevated-secondary: var(--color_theme_bg_contrast_2, var(--color-light-bg-elevated-secondary)); --color-bg-elevated: var(--color_theme_bg_contrast_1, var(--color-light-bg-elevated-primary)); --color-bg-primary-hover: var(--color_theme_bg_contrast_1, var(--color-light-bg-primary-hover)); --color-bg-primary: var(--web_bg_color, var(--color-light-bg-primary)); --color-bg-secondary: var(--color_theme_bg_contrast_1, var(--color-light-bg-secondary)); --color-bg-tertiary: var(--color_theme_bg_contrast_2, var(--color-light-bg-tertiary)); --color-button-disabled-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-disabled-fg: var(--color-fg-tertiary, var(--color-light-fg-primary)); --color-button-primary-bg-hover: var(--color_theme_bg_pop_darken, var(--color-light-button-primary-bg-hover)); --color-button-primary-bg: var(--color_theme_bg_pop, var(--color-light-button-primary-bg)); --color-button-primary-fg-hover: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-primary-fg: var(--color_theme_print_on_pop, var(--color-light-bg-primary)); --color-button-quaternary-bg-hover: transparent; --color-button-quaternary-bg: transparent; --color-button-quaternary-fg-hover: var(--color-fg-primary); --color-button-quaternary-fg: var(--color-fg-secondary); --color-button-secondary-accent-bg-hover: var(--color-bg-accent-hover, rgb(var(--color-primitive-orange-rgb), .2)); --color-button-secondary-accent-bg: var(--color-bg-accent, var(--color-light-accent-bg-orange)); --color-button-secondary-accent-fg-hover: var(--color-button-secondary-accent-fg); --color-button-secondary-accent-fg: var(--color_theme_bg_pop, var(--color-light-accent-fg-orange)); --color-button-secondary-bg-hover: var(--color-bg-tertiary, var(--color-light-bg-tertiary)); --color-button-secondary-bg: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-secondary-fg-hover: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-secondary-fg: var(--color-fg-primary, var(--color-light-fg-primary)); --color-button-tertiary-bg-hover: var(--color-bg-secondary, var(--color-light-bg-secondary)); --color-button-tertiary-bg: transparent; --color-button-tertiary-fg-hover: var(--color-button-tertiary-fg); --color-button-tertiary-fg: var(--color-button-secondary-fg); --color-fg-primary: var(--print_on_web_bg_color, var(--color-light-fg-primary)); --color-fg-secondary: var(--print_secondary_on_web_bg_color, var(--color-light-fg-secondary)); --color-fg-tertiary: var(--color_theme_bg_contrast_4, var(--color-light-fg-tertiary)); --color-highlight-bg: var(--color-bg-accent-primary); --color-highlight-fg: var(--color-accent-primary); --color-highlight-self-bg: var(--color-bg-accent-primary); --color-highlight-self-fg: var(--color-accent-primary); --color-utility-detail: var(--color_theme_bg_contrast_2, var(--color-light-utility-detail)); --error-input-ring: 0 0 0 2px var(--color-semantic-error-utility-detail); --error-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-semantic-error-fg-primary), 0 0 0 5px var(--color-semantic-error-utility-detail); --focus-input-ring: 0 0 0 2px var(--color-bg-accent-primary); --focus-ring: 0 0 0 2px var(--color-bg-primary), 0 0 0 3px var(--color-accent-primary), 0 0 0 5px var(--color-bg-accent-primary); --inner-border-default: inset 0 0 0 1px var(--color-detail-themed); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: contents; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset header-anchor offset-top\" id=\"\u00a7demo\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; list-style: none; position: absolute; text-decoration: unset; top: calc(-1*72px - var(--size-20));\"><\/div><button class=\"pencraft pc-reset pencraft _iconButton2_bxx6e_689 _iconButtonBase_bxx6e_183 _buttonBase_bxx6e_1 _buttonNew_bxx6e_97 _size_sm_bxx6e_158 _priority_secondary_bxx6e_46\" data-href=\"https:\/\/blog.stephenturner.us\/i\/153020937\/demo\" style=\"--color-button-bg: var(--color-button-secondary-bg); --color-button-fg: var(--color-button-secondary-fg); --color-button-hover-bg: var(--color-button-secondary-bg-hover); --color-button-hover-fg: var(--color-button-secondary-fg-hover); --size: var(--size-32); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: transparent; border-radius: var(--border-radius-sm); border-style: solid; border-width: 1px; cursor: pointer; display: flex; flex: 0 0 auto; font-family: var(--font-family-text); font-size: unset; height: var(--size); justify-content: center; line-height: unset; list-style: none; margin: 0px; outline: none; padding: 0px; text-decoration: unset; text-wrap-mode: nowrap; transition: var(--animate-hover); width: var(--size);\" tabindex=\"0\" type=\"button\"><svg class=\"lucide lucide-link\" fill=\"none\" height=\"18\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg><\/button><\/div><\/div><\/h3><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">Here\u2019s a demo using a very small package I wrote for something completely different. Don\u2019t worry about all the Docker stuff described here. There\u2019s one single function,\u00a0<\/span><code>missyelliot()<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">, that simply reverse complements a DNA sequence (\u201ctake that flip it and reverse it\u201d). That is, it\u2019ll convert GATTACA to it\u2019s reverse complement TGTAATC.<\/span><\/p><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">Restart your R environment, and install the package using devtools\/remotes. Load both rpdd and lang.<\/p><pre>devtools::install_github(&quot;stephenturner\/rpdd&quot;)\nlibrary(rpdd)\nlibrary(lang)<\/pre><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">Now get some help for\u00a0<\/span><code>missyelliot()<\/code><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\">. If your language environment variable is English, you\u2019ll get the English help.<\/span><\/p><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/3963a81b-4878-4309-bf17-431650e46de6_486x590.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":590,\"width\":486,\"resizeWidth\":null,\"bytes\":51345,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"590\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i1.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png?resize=450%2C590&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png 1272w, https:\/\/i1.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3963a81b-4878-4309-bf17-431650e46de6_486x590.png?resize=450%2C590&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"450\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">Now, change your system language to Spanish, and try it again. Notice how the translated help is instantaneous \u2014 you\u2019re relying on the pre-translated and possibly hand-edited translations that come with the package rather than asking an LLM to translate the help for you on the fly.<\/p><pre>Sys.setenv(LANGUAGE = &quot;spanish&quot;)\n?missyelliot<\/pre><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/730ae519-731b-45dd-9096-7260fd99f926_485x544.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":544,\"width\":485,\"resizeWidth\":null,\"bytes\":49275,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"544\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i1.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png?resize=450%2C544&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png 1272w, https:\/\/i1.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F730ae519-731b-45dd-9096-7260fd99f926_485x544.png?resize=450%2C544&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"450\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; line-height: 1.6em; margin: 0 0 var(--size-20) 0;\">If your language is set to something without a pre-populated translation, you\u2019ll have to register a model through Ollama and translate in real time.<\/p><pre>Sys.setenv(LANGUAGE = &quot;russian&quot;)\n?missyelliot<\/pre><div class=\"captioned-image-container\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: var(--size-32) auto;\"><figure style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; margin: 0px auto; width: 728px;\"><a class=\"image-link image2 is-viewable-img\" data-component-name=\"Image2ToDOM\" href=\"https:\/\/substackcdn.com\/image\/fetch\/f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border: 0px; cursor: zoom-in; display: flex; flex-direction: column; height: auto; margin: 0px auto; padding: 0px; position: relative; text-decoration-line: none; transition: var(--animate-hover); width: auto;\" target=\"_blank\"><div class=\"image2-inset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; position: relative;\"><picture style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\"><source sizes=\"100vw\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" type=\"image\/webp\"><\/source><img alt=\"\" class=\"sizing-normal\" data-attrs=\"{\"src\":\"https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/99937bda-121d-4858-b827-5b9cecbdb037_423x547.png\",\"srcNoWatermark\":null,\"fullscreen\":null,\"imageSize\":null,\"height\":547,\"width\":423,\"resizeWidth\":null,\"bytes\":52012,\"alt\":null,\"title\":null,\"type\":\"image\/png\",\"href\":null,\"belowTheFold\":true,\"topImage\":false,\"internalRedirect\":null,\"isProcessing\":false}\" height=\"547\" loading=\"lazy\" sizes=\"100vw\" src=\"https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png?resize=423%2C547&#038;ssl=1\" srcset_temp=\"https:\/\/substackcdn.com\/image\/fetch\/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 424w, https:\/\/substackcdn.com\/image\/fetch\/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 848w, https:\/\/substackcdn.com\/image\/fetch\/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png 1272w, https:\/\/i2.wp.com\/substackcdn.com\/image\/fetch\/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99937bda-121d-4858-b827-5b9cecbdb037_423x547.png?resize=423%2C547&#038;ssl=1 1456w\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: block; height: auto; margin: 0px auto; max-width: 100%;\" width=\"423\" data-recalc-dims=\"1\" \/><\/picture><div class=\"image-link-expand\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; display: flex; height: var(--size-32); justify-content: center; opacity: 0; position: absolute; right: var(--size-12); top: var(--size-12); width: var(--size-32);\"><div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: flex; gap: 8px; list-style: none; text-decoration: unset;\"><div class=\"pencraft pc-reset icon-container view-image\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; backdrop-filter: var(--material-blur); background: var(--material-dark-regular); border-radius: var(--border-radius-sm); cursor: pointer; display: flex; height: var(--size-32); justify-content: center; list-style: none; text-decoration: unset; transition: all var(--animation-timing-fast) var(--animation-smoothing); width: var(--size-32);\"><svg class=\"lucide lucide-maximize2\" fill=\"none\" height=\"20\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" width=\"20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><polyline points=\"15 3 21 3 21 9\"><\/polyline><polyline points=\"9 21 3 21 3 15\"><\/polyline><line x1=\"21\" x2=\"14\" y1=\"3\" y2=\"10\"><\/line><line x1=\"3\" x2=\"10\" y1=\"21\" y2=\"14\"><\/line><\/svg><\/div><\/div><\/div><\/div><\/a><\/figure><\/div><span style=\"background-color: transparent;\"><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: unset;\">I think this might be one of the most impactful applications of LLMs inside a developer environment since the rise and rapid adoption of\u00a0<\/span><a href=\"https:\/\/blog.stephenturner.us\/p\/ai-code-completion-in-positron\" rel=\"nofollow\" style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0;\" target=\"_blank\">Copilots<\/a><span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; text-decoration-line: unset;\">. The ability to instantly access documentation in multiple languages through lang represents a significant step forward in making data science more accessible and inclusive for the global R community, breaking down language barriers that have historically made it challenging for non-English speakers to fully engage with R&#8217;s rich ecosystem of tools and packages.<\/span>\u00a0<\/span><\/div><\/div><p><br \/><\/p><p><br \/><\/p><p><br \/><\/p><div class=\"blogger-post-footer\">Getting Genetics Done by Stephen Turner is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.<\/div>\n<div style=\"border: 1px solid; background: none repeat scroll 0 0 #EDEDED; margin: 1px; font-size: 13px;\">\r\n<div style=\"text-align: center;\">To <strong>leave a comment<\/strong> for the author, please follow the link and comment on their blog: <strong><a href=\"http:\/\/gettinggeneticsdone.blogspot.com\/2024\/12\/repost-llm-translate-documentation.html\"> Getting Genetics Done<\/a><\/strong>.<\/div>\r\n<hr \/>\r\n<a href=\"https:\/\/www.r-bloggers.com\/\" rel=\"nofollow\">R-bloggers.com<\/a> offers <strong><a href=\"https:\/\/feedburner.google.com\/fb\/a\/mailverify?uri=RBloggers\" rel=\"nofollow\">daily e-mail updates<\/a><\/strong> about <a title=\"The R Project for Statistical Computing\" href=\"https:\/\/www.r-project.org\/\" rel=\"nofollow\">R<\/a> news and tutorials about <a title=\"R tutorials\" href=\"https:\/\/www.r-bloggers.com\/how-to-learn-r-2\/\" rel=\"nofollow\">learning R<\/a> and many other topics. <a title=\"Data science jobs\" href=\"https:\/\/www.r-users.com\/\" rel=\"nofollow\">Click here if you're looking to post or find an R\/data-science job<\/a>.\r\n\r\n<hr>Want to share your content on R-bloggers?<a href=\"https:\/\/www.r-bloggers.com\/add-your-blog\/\" rel=\"nofollow\"> click here<\/a> if you have a blog, or <a href=\"http:\/\/r-posts.com\/\" rel=\"nofollow\"> here<\/a> if you don't.\r\n<\/div>","protected":false},"excerpt":{"rendered":"<div style = \"width:60%; display: inline-block; float:left; \"> Reposted from Paired Ends at\u00a0https:\/\/blog.stephenturner.us\/p\/llm-translate-documentation.&#8212;The lang package overrides the ? and help() functions in your R session. The translated help page will appear in the help pane in RStudio or Positron. It c&#8230;<\/div>\n<div style = \"width: 40%; display: inline-block; float:right;\"><\/div>\n<div style=\"clear: both;\"><\/div>\n","protected":false},"author":27,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"aioseo_notices":[],"jetpack-related-posts":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/posts\/389299"}],"collection":[{"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/comments?post=389299"}],"version-history":[{"count":2,"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/posts\/389299\/revisions"}],"predecessor-version":[{"id":389372,"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/posts\/389299\/revisions\/389372"}],"wp:attachment":[{"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/media?parent=389299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/categories?post=389299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.r-bloggers.com\/wp-json\/wp\/v2\/tags?post=389299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}