Enable 14.1 translations
Change-Id: I54cad38b36910711ef3c8791028df9d23ac5d931
diff --git a/config/cm-14.1.yaml b/config/cm-14.1.yaml
new file mode 100644
index 0000000..10722d5
--- /dev/null
+++ b/config/cm-14.1.yaml
@@ -0,0 +1,601 @@
+# cm-14.1.yaml
+#
+# Crowdin configuration file for CyanogenMod
+#
+# Copyright (C) 2014-2016 The CyanogenMod Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+api_key_env: CM_CROWDIN_API_KEY
+base_path_env: CM_CROWDIN_BASE_PATH
+base_path_contains_branch_subfolders: true
+project_identifier: cyanogenmod
+preserve_hierarchy: true
+
+files:
+# Frameworks
+
+ # framework-res
+ -
+ source: '/frameworks/base/core/res/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: &anchor
+ android_code:
+ af: af
+ am: am
+ ar: ar
+ as: as-rIN
+ ast: ast-rES
+ az: az-rAZ
+ be: be
+ bg: bg
+ bn: bn-rBD
+ ca: ca
+ cs: cs
+ cy: cy
+ da: da
+ de: de
+ el: el
+ en-AU: en-rAU
+ en-GB: en-rGB
+ en-IN: en-rIN
+ en-PT: en-rPT
+ eo: eo
+ es-ES: es
+ es-MX: es-rMX
+ es-US: es-rUS
+ et: et-rEE
+ eu: eu-rES
+ fa: fa
+ fi: fi
+ fr: fr
+ fr-CA: fr-rCA
+ fy-NL: fy-rNL
+ gl: gl-rES
+ gu-IN: gu-rIN
+ he: iw
+ hi: hi
+ hr: hr
+ hu: hu
+ hy-AM: hy-rAM
+ id: in
+ is: is-rIS
+ it: it
+ ja: ja
+ ka: ka-rGE
+ kk: kk-rKZ
+ km: km-rKH
+ kn: kn-rIN
+ ko: ko
+ ku: ku
+ ky: ky-rKG
+ lb: lb
+ lo: lo-rLA
+ lt: lt
+ lv: lv
+ mk: mk-rMK
+ ml-IN: ml-rIN
+ mn: mn-rMN
+ mr: mr-rIN
+ ms: ms-rMY
+ my: my-rMM
+ nb: nb
+ ne-NP: ne-rNP
+ nl: nl
+ or: or-rIN
+ pa-IN: pa-rIN
+ pl: pl
+ pt-PT: pt-rPT
+ pt-BR: pt-rBR
+ rm-CH: rm
+ ro: ro
+ ru: ru
+ si-LK: si-rLK
+ sk: sk
+ sl: sl
+ sq: sq-rAL
+ sr: sr
+ sv-SE: sv
+ sw: sw
+ ta: ta-rIN
+ te: te-rIN
+ th: th
+ tl: tl
+ tr: tr
+ ug: ug
+ uk: uk
+ ur-PK: ur-rPK
+ uz: uz-rUZ
+ vi: vi
+ zh-CN: zh-rCN
+ zh-HK: zh-rHK
+ zh-TW: zh-rTW
+ zu: zu
+
+ # SettingsLib
+ -
+ source: '/frameworks/base/packages/SettingsLib/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SystemUI
+ -
+ source: '/frameworks/base/packages/SystemUI/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Packages
+
+ # AudioFX
+ -
+ source: '/packages/apps/AudioFX/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Bluetooth
+ -
+ source: '/packages/apps/Bluetooth/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Browser
+ -
+ source: '/packages/apps/Browser/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Calendar
+ -
+ source: '/packages/apps/Calendar/res/values/cm_plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Calendar/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Camera2
+ -
+ source: '/packages/apps/Camera2/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CellBroadcastReceiver
+ -
+ source: '/packages/apps/CellBroadcastReceiver/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CMBugReport
+ -
+ source: '/packages/apps/CMBugReport/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CMFileManager
+ -
+ source: '/packages/apps/CMFileManager/res/values/plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/CMFileManager/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CMUpdater
+ -
+ source: '/packages/apps/CMUpdater/res/values/plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/CMUpdater/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CMWallpapers
+ -
+ source: '/packages/apps/CMWallpapers/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # DeskClock
+ -
+ source: '/packages/apps/DeskClock/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Dialer
+ -
+ source: '/packages/apps/Dialer/res/values/cm_arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Dialer/res/values/cm_plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Dialer/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Eleven
+ -
+ source: '/packages/apps/Eleven/res/values/plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Eleven/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Email
+ -
+ source: '/packages/apps/Email/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Gallery2
+ -
+ source: '/packages/apps/Gallery2/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Gallery2/res/values/codeaurora_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Gello
+ -
+ source: '/packages/apps/Gello/res/raw/incognito_mode_start_page.html'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Gello/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # LockClock
+ -
+ source: '/packages/apps/LockClock/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Messaging
+ -
+ source: '/packages/apps/Messaging/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # PhoneCommon
+ -
+ source: '/packages/apps/PhoneCommon/res/values/qtistrings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Profiles
+ -
+ source: '/packages/apps/Profiles/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Screencast
+ -
+ source: '/packages/apps/Screencast/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Settings
+ -
+ source: '/packages/apps/Settings/res/values/cm_plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Settings/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SetupWizard
+ -
+ source: '/packages/apps/SetupWizard/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Snap
+ -
+ source: '/packages/apps/Snap/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Snap/res/values/qcomstrings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Snap/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SoundRecorder
+ -
+ source: '/packages/apps/SoundRecorder/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Terminal
+ -
+ source: '/packages/apps/Terminal/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Terminal/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ThemeChooser
+ -
+ source: '/packages/apps/ThemeChooser/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Trebuchet
+ -
+ source: '/packages/apps/Trebuchet/res/values/cm_arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Trebuchet/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # UnifiedEmail
+ -
+ source: '/packages/apps/UnifiedEmail/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Input methods
+
+ # LatinIME
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Providers
+
+ # DataUsageProvider
+ -
+ source: '/packages/providers/DataUsageProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # DownloadProvider
+ -
+ source: '/packages/providers/DownloadProvider/res/values/cm_plurals.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/providers/DownloadProvider/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ThemesProvider
+ -
+ source: '/packages/providers/ThemesProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # WeatherProvider
+ -
+ source: '/packages/providers/WeatherProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Services
+
+ # CMAudioService
+ -
+ source: '/packages/services/CMAudioService/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # LiveLockScreenService
+ -
+ source: '/packages/services/LiveLockScreenService/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Telephony
+ -
+ source: '/packages/services/Telephony/res/values/cm_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/services/Telephony/res/values/qtistrings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ThemeManagerService
+ -
+ source: '/packages/services/ThemeManagerService/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # WeatherService
+ -
+ source: '/packages/services/WeatherService/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+
+# Vendor
+
+ # CM SDK
+ -
+ source: '/vendor/cmsdk/cm/res/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CMSettingsProvider
+ -
+ source: '/vendor/cmsdk/packages/CMSettingsProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # OpenWeatherMapProvider
+ -
+ source: '/vendor/cmsdk/samples/weatherproviderservice/OpenWeatherMapProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # WundergroundWeatherProvider
+ -
+ source: '/vendor/cmsdk/samples/weatherproviderservice/WundergroundWeatherProvider/app/src/main/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # YahooWeatherProvider
+ -
+ source: '/vendor/cmsdk/samples/weatherproviderservice/YahooWeatherProvider/app/src/main/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Device specific
+
+ # fmapp2
+ -
+ source: '/hardware/qcom/fm/fmapp2/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/hardware/qcom/fm/fmapp2/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # FMRecord
+ -
+ source: '/hardware/qcom/fm/FMRecord/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SamsungServiceMode
+ -
+ source: '/packages/apps/SamsungServiceMode/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # asus mofd-common cmactions
+ -
+ source: '/device/asus/mofd-common/cmactions/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # asus msm8916-common cmactions
+ -
+ source: '/device/asus/msm8916-common/cmactions/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # bn acclaim TFF
+ -
+ source: '/device/bn/acclaim/TFF/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # motorola condor doze
+ -
+ source: '/device/motorola/condor/doze/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # motorola msm8226-common CMActions
+ -
+ source: '/device/motorola/msm8226-common/CMActions/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # motorola msm8916-common cmactions
+ -
+ source: '/device/motorola/msm8916-common/cmactions/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # motorola omap4-common doze
+ -
+ source: '/device/motorola/omap4-common/doze/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # motorola otus cmactions
+ -
+ source: '/device/motorola/otus/cmactions/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+
+ # motorola victara cmactions
+ -
+ source: '/device/motorola/victara/cmactions/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # oneplus oneplus2 doze
+ -
+ source: '/device/oneplus/oneplus2/doze/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # oneplus oneplus3 doze
+ -
+ source: '/device/oneplus/oneplus3/doze/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # oppo common configpanel
+ -
+ source: '/device/oppo/common/configpanel/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # oppo r5 otgtoggle
+ -
+ source: '/device/oppo/r5/otgtoggle/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # samsung qcom-common doze
+ -
+ source: '/device/samsung/qcom-common/doze/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # samsung AdvancedDisplay
+ -
+ source: '/hardware/samsung/AdvancedDisplay/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/hardware/samsung/AdvancedDisplay/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # sony huashan devicesettings
+ -
+ source: '/device/sony/huashan/devicesettings/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # yu tomato configpanel
+ -
+ source: '/device/yu/tomato/configpanel/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
diff --git a/config/cm-14.1_aosp.yaml b/config/cm-14.1_aosp.yaml
new file mode 100644
index 0000000..4aa68f6
--- /dev/null
+++ b/config/cm-14.1_aosp.yaml
@@ -0,0 +1,544 @@
+# cm-14.1_aosp.yaml
+#
+# Crowdin configuration file for CyanogenMod's
+# additional languages not supported by AOSP
+#
+# Copyright (C) 2014-2016 The CyanogenMod Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+api_key_env: CM_AOSP_CROWDIN_API_KEY
+base_path_env: CM_CROWDIN_BASE_PATH
+base_path_contains_branch_subfolders: true
+project_identifier: cyanogenmod-aosp
+preserve_hierarchy: true
+
+files:
+# Frameworks
+
+ # framework-res
+ -
+ source: '/frameworks/base/core/res/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: &anchor
+ android_code:
+ as: as-rIN
+ ast: ast-rES
+ be: be
+ cy: cy
+ en-PT: en-rPT
+ es-MX: es-rMX
+ eo: eo
+ fy-NL: fy-rNL
+ ku: ku
+ lb: lb
+ or: or-rIN
+ ug: ug
+
+ # BackupRestoreConfirmation
+ -
+ source: '/frameworks/base/packages/BackupRestoreConfirmation/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CaptivePortalLogin
+ -
+ source: '/frameworks/base/packages/CaptivePortalLogin/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # DefaultContainerService
+ -
+ source: '/frameworks/base/packages/DefaultContainerService/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # DocumentsUI
+ -
+ source: '/frameworks/base/packages/DocumentsUI/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ExternalStorageProvider
+ -
+ source: '/frameworks/base/packages/ExternalStorageProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # FusedLocation
+ -
+ source: '/frameworks/base/packages/FusedLocation/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # InputDevices
+ -
+ source: '/frameworks/base/packages/InputDevices/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Keyguard
+ -
+ source: '/frameworks/base/packages/Keyguard/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # PrintSpooler
+ -
+ source: '/frameworks/base/packages/PrintSpooler/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SettingsLib
+ -
+ source: '/frameworks/base/packages/SettingsLib/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/frameworks/base/packages/SettingsLib/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SettingsProvider
+ -
+ source: '/frameworks/base/packages/SettingsProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Shell
+ -
+ source: '/frameworks/base/packages/Shell/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # StatementService
+ -
+ source: '/frameworks/base/packages/StatementService/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SystemUI
+ -
+ source: '/frameworks/base/packages/SystemUI/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # VpnDialogs
+ -
+ source: '/frameworks/base/packages/VpnDialogs/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # WallpaperCropper
+ -
+ source: '/frameworks/base/packages/WallpaperCropper/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Packages
+
+ # AudioFX
+ -
+ source: '/packages/apps/AudioFX/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # BasicSmsReceiver
+ -
+ source: '/packages/apps/BasicSmsReceiver/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Bluetooth
+ -
+ source: '/packages/apps/Bluetooth/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Bluetooth/res/values/strings_pbap.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Bluetooth/res/values/strings_sap.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Browser
+ -
+ source: '/packages/apps/Browser/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Calculator
+ -
+ source: '/packages/apps/Calculator/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Calendar
+ -
+ source: '/packages/apps/Calendar/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Calendar/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Camera2
+ -
+ source: '/packages/apps/Camera2/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Camera2/res_p/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CellBroadcastReceiver
+ -
+ source: '/packages/apps/CellBroadcastReceiver/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CertInstaller
+ -
+ source: '/packages/apps/CertInstaller/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Contacts
+ -
+ source: '/packages/apps/Contacts/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ContactsCommon
+ -
+ source: '/packages/apps/ContactsCommon/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # DeskClock
+ -
+ source: '/packages/apps/DeskClock/res/values/array.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/DeskClock/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Dialer
+ -
+ source: '/packages/apps/Dialer/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Email
+ -
+ source: '/packages/apps/Email/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ExactCalculator
+ -
+ source: '/packages/apps/ExactCalculator/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Exchange
+ -
+ source: '/packages/apps/Exchange/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # FMRadio
+ -
+ source: '/packages/apps/FMRadio/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Gallery2
+ -
+ source: '/packages/apps/Gallery2/res/values/filtershow_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Gallery2/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # HTMLViewer
+ -
+ source: '/packages/apps/HTMLViewer/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # InCallUI
+ -
+ source: '/packages/apps/InCallUI/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # KeyChain
+ -
+ source: '/packages/apps/KeyChain/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ManagedProvisioning
+ -
+ source: '/packages/apps/ManagedProvisioning/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Messaging
+ -
+ source: '/packages/apps/Messaging/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Messaging/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Nfc
+ -
+ source: '/packages/apps/Nfc/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # PackageInstaller
+ -
+ source: '/packages/apps/PackageInstaller/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # PhoneCommon
+ -
+ source: '/packages/apps/PhoneCommon/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Settings
+ -
+ source: '/packages/apps/Settings/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/Settings/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # SoundRecorder
+ -
+ source: '/packages/apps/SoundRecorder/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Stk
+ -
+ source: '/packages/apps/Stk/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Tag
+ -
+ source: '/packages/apps/Tag/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Trebuchet
+ -
+ source: '/packages/apps/Trebuchet/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # TvSettings
+ -
+ source: '/packages/apps/TvSettings/Settings/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/apps/TvSettings/Settings/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # UnifiedEmail
+ -
+ source: '/packages/apps/UnifiedEmail/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # WallpaperPicker
+ -
+ source: '/packages/apps/WallpaperPicker/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Input methods
+
+ # LatinIME
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings-action-keys.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings-appname.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings-config-important-notice.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings-emoji-descriptions.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings-letter-descriptions.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings-talkback-descriptions.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/inputmethods/LatinIME/java/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Providers
+
+ # BookmarkProvider
+ -
+ source: '/packages/providers/BookmarkProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CalendarProvider
+ -
+ source: '/packages/providers/CalendarProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # CallLogProvider
+ -
+ source: '/packages/providers/CallLogProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # ContactsProvider
+ -
+ source: '/packages/providers/ContactsProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # DownloadProvider
+ -
+ source: '/packages/providers/DownloadProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/providers/DownloadProvider/ui/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # MediaProvider
+ -
+ source: '/packages/providers/MediaProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # TelephonyProvider
+ -
+ source: '/packages/providers/TelephonyProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # UserDictionaryProvider
+ -
+ source: '/packages/providers/UserDictionaryProvider/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Screensavers
+
+ # Basic
+ -
+ source: '/packages/screensavers/Basic/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # PhotoTable
+ -
+ source: '/packages/screensavers/PhotoTable/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Services
+
+ # Telecomm
+ -
+ source: '/packages/services/Telecomm/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Telephony
+ -
+ source: '/packages/services/Telephony/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ -
+ source: '/packages/services/Telephony/sip/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+# Wallpapers
+
+ # Basic
+ -
+ source: '/packages/wallpapers/Basic/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # HoloSpiral
+ -
+ source: '/packages/wallpapers/HoloSpiral/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # LivePicker
+ -
+ source: '/packages/wallpapers/LivePicker/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # MagicSmoke
+ -
+ source: '/packages/wallpapers/MagicSmoke/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # NoiseField
+ -
+ source: '/packages/wallpapers/NoiseField/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # PhaseBeam
+ -
+ source: '/packages/wallpapers/PhaseBeam/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
diff --git a/config/cm-14.1_extra_packages.xml b/config/cm-14.1_extra_packages.xml
new file mode 100644
index 0000000..0858253
--- /dev/null
+++ b/config/cm-14.1_extra_packages.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<manifest>
+ <!-- Extra packages not included in the main manifest -->
+ <project path="packages/apps/SamsungServiceMode" name="CyanogenMod/android_packages_apps_SamsungServiceMode" />
+
+ <!-- Device repositories that can be translated -->
+ <project path="device/asus/mofd-common" name="CyanogenMod/android_device_asus_mofd-common" />
+ <project path="device/asus/msm8916-common" name="CyanogenMod/android_device_asus_msm8916-common" />
+ <project path="device/bn/acclaim" name="CyanogenMod/android_device_bn_acclaim" />
+ <project path="device/motorola/condor" name="CyanogenMod/android_device_motorola_condor" />
+ <project path="device/motorola/msm8226-common" name="CyanogenMod/android_device_motorola_msm8226-common" />
+ <project path="device/motorola/msm8916-common" name="CyanogenMod/android_device_motorola_msm8916-common" />
+ <project path="device/motorola/omap4-common" name="CyanogenMod/android_device_motorola_omap4-common" />
+ <project path="device/motorola/otus" name="CyanogenMod/android_device_motorola_otus" />
+ <project path="device/oneplus/oneplus2" name="CyanogenMod/android_device_oneplus_oneplus2" />
+ <project path="device/oneplus/oneplus3" name="CyanogenMod/android_device_oneplus_oneplus3" />
+ <project path="device/oppo/common" name="CyanogenMod/android_device_oppo_common" />
+ <project path="device/oppo/r5" name="CyanogenMod/android_device_oppo_r5" />
+ <project path="device/samsung/qcom-common" name="CyanogenMod/android_device_samsung_qcom-common" />
+ <project path="device/sony/huashan" name="CyanogenMod/android_device_sony_huashan" />
+ <project path="device/yu/tomato" name="CyanogenMod/android_device_yu_tomato" />
+
+ <project path="hardware/samsung" name="CyanogenMod/android_hardware_samsung" />
+</manifest>