All Projects → Appsilon → Shiny.i18n

Appsilon / Shiny.i18n

Licence: other
Shiny applications internationalisation made easy

Programming Languages

r
7636 projects
language
365 projects

Projects that are alternatives of or similar to Shiny.i18n

Eslint Plugin I18n Json
Fully extendable eslint plugin for JSON i18n translation files.
Stars: ✭ 101 (-2.88%)
Mutual labels:  translation, internationalization
React I18next
Internationalization for react done right. Using the i18next i18n ecosystem.
Stars: ✭ 6,942 (+6575%)
Mutual labels:  translation, internationalization
Highcharter
R wrapper for highcharts
Stars: ✭ 583 (+460.58%)
Mutual labels:  shiny, cran
Easy localization
Easy and Fast internationalizing your Flutter Apps
Stars: ✭ 407 (+291.35%)
Mutual labels:  translation, internationalization
Translatedjs
Internationalization and localization for JavaScript and Node.js
Stars: ✭ 17 (-83.65%)
Mutual labels:  translation, internationalization
Stringz
A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
Stars: ✭ 440 (+323.08%)
Mutual labels:  translation, internationalization
I18next
i18next: learn once - translate everywhere
Stars: ✭ 5,971 (+5641.35%)
Mutual labels:  translation, internationalization
Gotext
Go (Golang) GNU gettext utilities package
Stars: ✭ 292 (+180.77%)
Mutual labels:  translation, internationalization
Fluent
Fluent — planning, spec and documentation
Stars: ✭ 818 (+686.54%)
Mutual labels:  translation, internationalization
Django Rosetta
Rosetta is a Django application that eases the translation process of your Django projects
Stars: ✭ 806 (+675%)
Mutual labels:  translation, internationalization
Rintrojs
Wrapper for the Intro.js library
Stars: ✭ 96 (-7.69%)
Mutual labels:  shiny, cran
Transloco
🚀 😍 The internationalization (i18n) library for Angular
Stars: ✭ 1,185 (+1039.42%)
Mutual labels:  translation, internationalization
React Localize Redux
Dead simple localization for your React components
Stars: ✭ 384 (+269.23%)
Mutual labels:  translation, internationalization
Gettext
PHP library to collect and manipulate gettext (.po, .mo, .php, .json, etc)
Stars: ✭ 578 (+455.77%)
Mutual labels:  translation, internationalization
Spree i18n
I18n translation files for Spree Commerce.
Stars: ✭ 338 (+225%)
Mutual labels:  translation, internationalization
Fluent.js
JavaScript implementation of Project Fluent
Stars: ✭ 622 (+498.08%)
Mutual labels:  translation, internationalization
Eo Locale
🌏Internationalize js apps 👔Elegant lightweight library based on Internationalization API
Stars: ✭ 290 (+178.85%)
Mutual labels:  translation, internationalization
Js Lingui
🌍📖 A readable, automated, and optimized (5 kb) internationalization for JavaScript
Stars: ✭ 3,249 (+3024.04%)
Mutual labels:  translation, internationalization
Frenchkiss.js
The blazing fast lightweight internationalization (i18n) module for javascript
Stars: ✭ 776 (+646.15%)
Mutual labels:  translation, internationalization
React Intl Hooks
React hooks for internationalization without the hassle ⚛️🌍
Stars: ✭ 64 (-38.46%)
Mutual labels:  translation, internationalization

We are hiring!

shiny.i18n

R-CMD-check codecov cranlogs total

Shiny applications internationalisation made easy!

Using it is very simple: just prepare your translation files in one of the supported formats, read them into your app using user-friendly shiny.i18n interface and surround your expressions to translate by a translator tag. Thanks to that your app will remain neat and readible.

Actually, you can use shiny.i18n as a standalone R package - shiny app is just a perfect usecase example.

Change languages and formats easy with shiny.i18n.

Source code

This library source code can be found on Appsilon Data Science's Github:
https://github.com/Appsilon/shiny.i18n/

How to install?

install.packages("shiny.i18n")

Or use devtools for the most recent version:

devtools::install_github("Appsilon/shiny.i18n")

To install previous version you can run:

devtools::install_github("Appsilon/shiny.i18n", ref = "0.1.0")

Examples

See shiny.i18n in action live

You can find some basic examples in examples folder:

  1. Using i18n object with CSV translation files or JSON translation files.

  2. Live language change on the browser side or with the server function renderUI.

  3. RMarkdown translations.

  4. Example of translation data format.

Translation file format

Currently shiny.i18n supports two translation formats:

  • csv - where each translation is in separate file translation_<LANGUAGE-CODE>.csv containing two columns: key translation, language to which it needs to be translated. Example of translation_pl.csv for Polish language you may find here: inst/examples/data/translation_pl.csv. You load the data by passing the path to folder containing all the csv files:
Translator$new(translation_csvs_path = "...")
  • json - single json file translation.json with mandatory fields: "languages" with list of all language codes and "translation" with list of dictionaries assigning each translation to a language code. Example of such a json file for Polish language you may find here: inst/examples/data/translation.json. You load the data by passing the path to json file.
Translator$new(translation_json_path = "...")

How to contribute?

If you want to contribute to this project please submit a regular PR, once you're done with new feature or bug fix. Reporting a bug is also helpful - please use github issues and describe your problem as detailed as possible.

Changes in documentation

Documentation is rendered with pkgdown. Just run pkgdown::build_site() after editing documentation or README.md.

Troubleshooting

We used the latest versions of dependencies for this library, so please update your R environment before installation.

Future enhacements

  • Format numeric data
  • Support plural forms

Appsilon

Appsilon is the Full Service Certified RStudio Partner. Learn more at appsilon.com.

Get in touch [email protected]

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].