mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 08:25:32 +00:00
273 lines
7.8 KiB
YAML
273 lines
7.8 KiB
YAML
#
|
|
# Shared Crowdin control for all Keyman platforms
|
|
#
|
|
|
|
#
|
|
# Your Crowdin credentials
|
|
#
|
|
project_id_env: "CROWDIN_PROJECT_ID"
|
|
api_token_env: "CROWDIN_PERSONAL_TOKEN"
|
|
base_path: "." # local base path
|
|
base_url: "https://api.crowdin.com"
|
|
|
|
#
|
|
# Choose file structure in Crowdin
|
|
# e.g. true or false
|
|
#
|
|
preserve_hierarchy: true
|
|
|
|
#
|
|
# Files configuration
|
|
#
|
|
files:
|
|
# source: local path of file that gets uploaded to crowdin
|
|
# dest: crowdin path in https://crowdin.com/project/keyman
|
|
# translation: local path where downloaded translations from crowdin go
|
|
|
|
|
|
# Android files
|
|
# Reference: https://developer.android.com/guide/topics/resources/multilingual-support
|
|
|
|
- source: /android/KMEA/app/src/main/res/values/strings.xml
|
|
dest: /android/engine/strings.xml
|
|
translation: /android/KMEA/app/src/main/res/values-%android_code%/strings.xml
|
|
languages_mapping:
|
|
# Prevent invalid region pap-rPAP. Leaving "in" for Indonesian
|
|
android_code:
|
|
es-419: b+es+419
|
|
pap: pap
|
|
shu-latn-n: b+shu+latn
|
|
|
|
- source: /android/KMAPro/kMAPro/src/main/res/values/strings.xml
|
|
dest: /android/app/strings.xml
|
|
translation: /android/KMAPro/kMAPro/src/main/res/values-%android_code%/strings.xml
|
|
languages_mapping:
|
|
# Prevent invalid region pap-rPAP
|
|
android_code:
|
|
es-419: b+es+419
|
|
pap: pap
|
|
shu-latn-n: b+shu+latn
|
|
|
|
# Windows files
|
|
# Note: we use type: android for the Windows project files
|
|
|
|
- source: /windows/src/desktop/kmshell/xml/strings.xml
|
|
dest: /windows/strings.xml
|
|
translation: /windows/src/desktop/kmshell/locale/%locale%/%original_file_name%
|
|
type: android
|
|
languages_mapping:
|
|
locale:
|
|
de: de
|
|
fr: fr
|
|
|
|
- source: /windows/src/desktop/setup/locale/en/strings.xml
|
|
dest: /windows/setup/strings.xml
|
|
translation: /windows/src/desktop/setup/locale/%locale%/%original_file_name%
|
|
type: android
|
|
languages_mapping:
|
|
locale:
|
|
de: de
|
|
fr: fr
|
|
|
|
# iOS files
|
|
|
|
- source: /ios/engine/KMEI/KeymanEngine/Classes/en.lproj/ResourceInfoView.strings
|
|
dest: /ios/engine/ResourceInfoView.strings
|
|
translation: /ios/engine/KMEI/KeymanEngine/Classes/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /ios/engine/KMEI/KeymanEngine/en.lproj/Localizable.strings
|
|
dest: /ios/engine/Localizable.strings
|
|
translation: /ios/engine/KMEI/KeymanEngine/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /ios/engine/KMEI/KeymanEngine/en.lproj/Localizable.stringsdict
|
|
dest: /ios/engine/Localizable.stringsdict
|
|
translation: /ios/engine/KMEI/KeymanEngine/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /ios/keyman/Keyman/Keyman/en.lproj/Localizable.strings
|
|
dest: /ios/app/Localizable.strings
|
|
translation: /ios/keyman/Keyman/Keyman/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
# Linux files
|
|
|
|
- source: /linux/keyman-config/locale/keyman-config.pot
|
|
dest: /linux/keyman-config.pot
|
|
translation: /linux/keyman-config/locale/%locale_with_underscore%.po
|
|
type: gettext
|
|
update_option: update_as_unapproved
|
|
languages_mapping:
|
|
locale_with_underscore:
|
|
shu-latn-n: shu@latin
|
|
ha: ha
|
|
|
|
# macOS files
|
|
|
|
- source: /mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/en.lproj/KMAboutWindowController.strings
|
|
dest: /mac/app/KMAboutWindowController.strings
|
|
translation: /mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /mac/Keyman4MacIM/Keyman4MacIM/KMConfiguration/en.lproj/preferences.strings
|
|
dest: /mac/app/preferences.strings
|
|
translation: /mac/Keyman4MacIM/Keyman4MacIM/KMConfiguration/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /mac/Keyman4MacIM/Keyman4MacIM/KMInfoWindow/en.lproj/KMInfoWindowController.strings
|
|
dest: /mac/app/KMInfoWindowController.strings
|
|
translation: /mac/Keyman4MacIM/Keyman4MacIM/KMInfoWindow/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /mac/Keyman4MacIM/Keyman4MacIM/KMKeyboardHelpWindow/en.lproj/KMKeyboardHelpWindowController.strings
|
|
dest: /mac/app/KMKeyboardHelpWindowController.strings
|
|
translation: /mac/Keyman4MacIM/Keyman4MacIM/KMKeyboardHelpWindow/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /mac/Keyman4MacIM/Keyman4MacIM/en.lproj/Localizable.strings
|
|
dest: /mac/app/Localizable.strings
|
|
translation: /mac/Keyman4MacIM/Keyman4MacIM/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
- source: /mac/Keyman4MacIM/Keyman4MacIM/en.lproj/MainMenu.strings
|
|
dest: /mac/app/MainMenu.strings
|
|
translation: /mac/Keyman4MacIM/Keyman4MacIM/%osx_code%/%original_file_name%
|
|
languages_mapping:
|
|
osx_code:
|
|
pt-PT: pt-PT.lproj
|
|
|
|
# crowdin parameters descriptions:
|
|
|
|
#
|
|
# Source files filter
|
|
# e.g. "/resources/en/*.json"
|
|
#
|
|
|
|
#
|
|
# Where translations will be placed
|
|
# e.g. "/resources/%two_letters_code%/%original_file_name%"
|
|
#
|
|
#"translation" : "",
|
|
|
|
#
|
|
# Files or directories for ignore
|
|
# e.g. ["/**/?.txt", "/**/[0-9].txt", "/**/*\?*.txt"]
|
|
#
|
|
#"ignore" : [],
|
|
|
|
#
|
|
# The dest allows you to specify a file name in Crowdin
|
|
# e.g. "/messages.json"
|
|
#
|
|
#"dest" : "",
|
|
|
|
#
|
|
# File type
|
|
# e.g. "json"
|
|
#
|
|
#"type" : "",
|
|
|
|
#
|
|
# The parameter "update_option" is optional. If it is not set, after the files update the translations for changed strings will be removed. Use to fix typos and for minor changes in the source strings
|
|
# e.g. "update_as_unapproved" or "update_without_changes"
|
|
#
|
|
#"update_option" : "",
|
|
|
|
#
|
|
# Start block (for XML only)
|
|
#
|
|
|
|
#
|
|
# Defines whether to translate tags attributes.
|
|
# e.g. 0 or 1 (Default is 1)
|
|
#
|
|
# "translate_attributes" : 1,
|
|
|
|
#
|
|
# Defines whether to translate texts placed inside the tags.
|
|
# e.g. 0 or 1 (Default is 1)
|
|
#
|
|
# "translate_content" : 1,
|
|
|
|
#
|
|
# This is an array of strings, where each item is the XPaths to DOM element that should be imported
|
|
# e.g. ["/content/text", "/content/text[@value]"]
|
|
#
|
|
# "translatable_elements" : [],
|
|
|
|
#
|
|
# Defines whether to split long texts into smaller text segments
|
|
# e.g. 0 or 1 (Default is 1)
|
|
#
|
|
# "content_segmentation" : 1,
|
|
|
|
#
|
|
# End block (for XML only)
|
|
#
|
|
|
|
#
|
|
# Start .properties block
|
|
#
|
|
|
|
#
|
|
# Defines whether single quote should be escaped by another single quote or backslash in exported translations
|
|
# e.g. 0 or 1 or 2 or 3 (Default is 3)
|
|
# 0 - do not escape single quote;
|
|
# 1 - escape single quote by another single quote;
|
|
# 2 - escape single quote by backslash;
|
|
# 3 - escape single quote by another single quote only in strings containing variables ( {0} ).
|
|
#
|
|
# "escape_quotes" : 3,
|
|
|
|
#
|
|
# Defines whether any special characters (=, :, ! and #) should be escaped by backslash in exported translations.
|
|
# e.g. 0 or 1 (Default is 0)
|
|
# 0 - do not escape special characters
|
|
# 1 - escape special characters by a backslash
|
|
#
|
|
# "escape_special_characters": 0
|
|
#
|
|
|
|
#
|
|
# End .properties block
|
|
#
|
|
|
|
#
|
|
# Often software projects have custom names for the directories where translations are placed. crowdin-cli allows you to map your own languages to be understandable by Crowdin.
|
|
#
|
|
#"languages_mapping" : {
|
|
# "two_letters_code" : {
|
|
# "crowdin_language_code" : "local_name"
|
|
# }
|
|
#},
|
|
|
|
#
|
|
# Does the first line contain header?
|
|
# e.g. true or false
|
|
#
|
|
#"first_line_contains_header" : true,
|
|
|
|
#
|
|
# for spreadsheets
|
|
# e.g. "identifier,source_phrase,context,uk,ru,fr"
|
|
#
|
|
# "scheme" : "",
|