Getting Started with Soluling Cloud

This walks through the whole Soluling Cloud loop end to end: push a resource file with SoluCLI, translate it in the browser, and pull the localized files back - all without installing the desktop application. See Cloud Tools for a fuller picture of the pieces involved, and Workflows for how this fits alongside other setups.

Before you start

Before you can use Soluling Cloud, make sure you have the following:

A Soluling account with a Soluling Cloud plan - the free one is enough for this tutorial. Create an account if you don't already have one.

SoluCLI installed - it's a single npm package, no platform-specific binaries:

npm install -g @soluling/solucli

Every command needs your credentials - pass them with --user/--password, or, better, set them once as environment variables (SOLULING_USER, SOLULING_PASSWORD) so they're never typed on the command line at all. If you skip both, SoluCLI prompts for them instead (password input is masked) - handy interactively, but in a CI/CD pipeline there's nobody to answer, so set them one of these two ways there:

Windows (PowerShell):

$env:SOLULING_USER = "you@example.com"
$env:SOLULING_PASSWORD = "yourpassword"

Windows (Command Prompt):

set SOLULING_USER=you@example.com
set SOLULING_PASSWORD=yourpassword

Linux / macOS (bash):

export SOLULING_USER=you@example.com
export SOLULING_PASSWORD=yourpassword

See Authenticate for every option.

Create a project

You don't need the desktop application or a .ntp file to get started - SoluCLI can create a project directly from the resource file you want localized. Save a small JSON file, messages.json, somewhere on disk:

{
  "greeting": "Hello",
  "farewell": "Goodbye"
}

Then push it, telling SoluCLI what language it's written in and which languages to localize into:

solucli project create-source messages.json --original-language en --target-languages "fi;sv"

This prints the new project as JSON - note its id, you'll need it for every command below. If you'd rather set the project up first and push files into it afterwards, use create-empty and add-source instead - see the full command reference.

Translate the project

With the project created, translation happens in the browser - open Translate, sign in with the same account you registered above, and pick the project from your project list. Machine translation suggestions, translation memory, and spell checking are all available right there; see Translation quality for what else is available.

Soluling Translate in action

Translate as many of the target languages as you like - you don't have to finish every language before moving on to the next step.

Get the localized files back

project download-source downloads a source's localized file for one language. If the project has unpushed translations, it automatically queues a build and waits for it first - no separate build step to run:

solucli project download-source 123 messages.json fi ./out/messages.fi.json
solucli project download-source 123 messages.json sv ./out/messages.sv.json

Replace 123 with the project id from the first step in every command from here on.

Update the project

Localization isn't a one-time step - as the source file changes, push the new version, translate what's new or changed, and download again. Edit messages.json, say adding a thanks string and changing the existing greeting:

{
  "greeting": "Hi there",
  "farewell": "Goodbye",
  "thanks": "Thank you"
}

Then push the updated file:

solucli project update-source 123 messages.json ./messages.json

SoluCLI carries existing translations forward automatically - only the strings that actually changed or were added need translating. Back in Translate, translate the new thanks string and review greeting's now-stale translation for each language, then download the localized files again:

solucli project download-source 123 messages.json fi ./out/messages.fi.json

Wire these same two commands into your CI/CD pipeline and the whole loop runs on every commit; see the CI/CD example on the SoluCLI page.