blob: dcad58ff219061c4e487b8b3649e4ea49b575413 [file] [log] [blame] [view]
# Examples of the localization workflow.
The example will evolve as more automation becomes available.
# Strings
The file `strings.xml` is the source of truth. This file lists all externalized
strings and gives them `name`s. The strings will be referenced in the source code
using constants which are generated based on `name`.
You may notice that `strings.xml` has English source text at the moment. This
is not required: you can have text in any language, including pure gibberish in
there.
# Translated strings
The translated strings are stored in files `strings_<locale_id>.xml`. For
example, it is expected that the file `strings_fr.xml` contains text which
is a French equivalent of what is written in `strings.xml`. Since English is
not a special language, `strings_en.xml` must also exist if you want your
program to speak English.
# `BUILD.gn` file
Please refer to the `BUILD.gn` file for a minimal example of how to compile a
C++ program that uses generated strings constants.
# Building and running
## Building
Before you build:
1. Make sure your `fx set` command has `--with=//src/intl/example`.
1. Make sure `fx serve` is running.
```
fx build src/intl/example
```
## Testing
Before you test:
1. Make sure `fx serve` is running.
```
fx test //src/intl/example
```
## Running
**Prerequisite.** You will need to have `fx serve` running.
```
fx ffx component run /core/ffx-laboratory:src-intl-example \
fuchsia-pkg://fuchsia.com/src-intl-example#meta/src-intl-example.cm
```