All Projects → MichaelChirico → potools

MichaelChirico / potools

Licence: other
Tools for working with translations in R

Programming Languages

r
7636 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to potools

i18n-tag-schema
Generates a json schema for all i18n tagged template literals in your project
Stars: ✭ 15 (-64.29%)
Mutual labels:  i18n, translation
inlang
Open Source Localization Solution for Software.
Stars: ✭ 160 (+280.95%)
Mutual labels:  i18n, translation
i18n.cr
Internationalization API ( i18n ) for Crystal!
Stars: ✭ 36 (-14.29%)
Mutual labels:  i18n, translation
deepl-api-connector
Connector library for deepl.com rest translation api
Stars: ✭ 12 (-71.43%)
Mutual labels:  i18n, translation
i18n
Minimalist gettext style i18n for JavaScript
Stars: ✭ 14 (-66.67%)
Mutual labels:  i18n, translation
mobility-actiontext
Translate Rails Action Text rich text with Mobility.
Stars: ✭ 27 (-35.71%)
Mutual labels:  i18n, translation
pydantic-i18n
pydantic-i18n is an extension to support an i18n for the pydantic error messages.
Stars: ✭ 32 (-23.81%)
Mutual labels:  i18n, translation
Tempura
Pure Clojure/Script i18n translations library
Stars: ✭ 211 (+402.38%)
Mutual labels:  i18n, translation
plate
Internationalization library for Python
Stars: ✭ 31 (-26.19%)
Mutual labels:  i18n, translation
translation
👅 Translations (symfony/translation) to Nette Framework (@nette)
Stars: ✭ 55 (+30.95%)
Mutual labels:  i18n, translation
django-i18nfield
Store internationalized strings in Django models with full forms support
Stars: ✭ 32 (-23.81%)
Mutual labels:  i18n, translation
django-languages-plus
Provides models and fixtures for working with both common languages and 'culture codes' or locale codes, like pt-BR.
Stars: ✭ 21 (-50%)
Mutual labels:  i18n, translation
fluent-vue
Internationalization plugin for Vue.js
Stars: ✭ 137 (+226.19%)
Mutual labels:  i18n, translation
rosetta
A blazing fast internationalization (i18n) library for Crystal with compile-time key lookup.
Stars: ✭ 23 (-45.24%)
Mutual labels:  i18n, translation
mobx-react-intl
A connector between mobx-react and react-intl
Stars: ✭ 32 (-23.81%)
Mutual labels:  i18n, translation
i18n
internationalize projects to Arabic
Stars: ✭ 67 (+59.52%)
Mutual labels:  i18n, translation
Glotpress Wp
🌍 🌎 🌏 GlotPress is a WordPress plugin to let you set up your own collaborative, web-based software translation tool.
Stars: ✭ 205 (+388.1%)
Mutual labels:  i18n, translation
Weblate
Web based localization tool with tight version control integration.
Stars: ✭ 2,719 (+6373.81%)
Mutual labels:  i18n, translation
gettext-extractor
A flexible and powerful Gettext message extractor with support for JavaScript, TypeScript, JSX and HTML.
Stars: ✭ 82 (+95.24%)
Mutual labels:  i18n, translation
SonataTranslationBundle
SonataTranslationBundle
Stars: ✭ 72 (+71.43%)
Mutual labels:  i18n, translation

potools: Tools for Portability and Internationalization of R packages

Overview

R users are a global community. From Xiamen to Santiago, Addis Ababa to Tbilisi, Ogallala to Adelaide, R users are legion and speak many different languages. To serve these diverse communities, R includes built-in tools based on the GNU gettext system that make it possible to translate user-facing communications like messages, warnings, and errors. Unfortunately, this system uses new file types (.pot templates, .po files, and .mo binaries) that come with their own quirks and idiosyncrasies. The goal of potools is make it as easy as possible to translate your package by abstracting away as many details of the gettext system as possible.

The potool logo features a potoo and was designed by Allison Horst.

Installation

Start by installing the released version potools from CRAN:

install.packages("potools")

Or the development version from GitHub:

# install.packages("remotes")
remotes::install_github("MichaelChirico/potools")

You'll also need to install gettext, the GNU command line toolkit that powers potools. Installation depends on your operating system:

  • On Windows, gettext is bundled with Rtools, so if you're developing packages you probably already have it.

  • On Mac, it's easiest to install with brew: brew install gettext

  • On Linux, it's usually already installed; otherwise you'll need to install gettext with your distro's standard tool.

Workflow

There are two core workflows provided by potools:

  • translate_package() is a one-stop-shop for interactively setting your package and providing translations, as described in ?translate_package.

  • po_extract(), po_create(), po_update(), and po_compile() let you perform the individual steps of translate_package() as described in vignette("developers") and vignette("translators").

Alternative software

potools is by no means the first tool for facilitating internationalization; other open-source projects have deeper experience in this domain and as a result there are some relatively mature options for working with gettext/the po ecosystem in general. Here is a smattering of such tools that I've come across:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].