1.1.0 • Published 2 years ago

confluence-i18n-importer v1.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
2 years ago

confluence-i18n-importer

Information

CLI tool to parse a Confluence page with a table containing translations to JSON files that can be used with i18next.

A blog article explaining how and why we use this tool at AppFoundry can be found on our blog.

Confluence table structure example:

table image

Any column not named TechnicalId, PageName or Image will be seen as a language.

Install: $ npm install -g confluence-i18n-importer

Example usage: $ confluence-i18n-importer -d CONFLUENCE_BASE_URL -i PAGE_ID -u USERNAME -p PASSWORD -o "/Users/john/Projects/xxxx/translations"

The i18n files are outputted by default in the directory where the command is ran from when the output flag is not given.

Options

FlagDescription
-dDomain of the Confluence page. Example 'https://confluence.yourcompany.com'
-iPage id of the confluence page to be parsed. If you want the page ID, go to Tools —> Page Information on the particular page you are interested in. You should see the page (content) ID shown in the URL when you do this.
-uThe username of the confluence account.
-pPassword or API token of the confluence account. API tokens are only avaiable on cloud hosted Atlassasian stacks.
-tWhen this flag is given the output files will have the TypeScript (.ts) extension.
-oOutput directory for i18n files. Remeber to quote the path if there's spaces in the path. The directory already has to exist. Default the directory when the command is ran from.
--noEmptyIgnore translations with an empty value

Atlassian Cloud usage

When using the Atlassian Cloud offering of Confluence (hosted on atlassian.net), you must provide an API token for authentication, instead of either your user's password or API token, and you must provide your email as your username. See https://developer.atlassian.com/cloud/confluence/basic-auth-for-rest-apis/ for more details.

Using locally

Install

$ npm install

Linking package

$ npm link

Using the package

$ npm run build && confluence-i18n-importer -d CONFLUENCE_BASE_URL -i PAGE_ID -u USERNAME -p PASSWORD

Example output

Files: en_US.js, fr_BE.js, nl_BE.js

export default {
  LoginTitle1: `Welcome back at`,
  LoginTitle2: `sign in to continue`,
  LoginButton: `Sign in`,
};