crowdin: Add support for multiple branches
* Allow the script to run on different branches based on default_branch
* Rename files for cm-11.0
* Identity is the same for all branches
Change-Id: I1636a4d26a3509c200e42259d469282ea95946be
diff --git a/crowdin/config_cm.yaml b/crowdin/config.yaml
similarity index 100%
rename from crowdin/config_cm.yaml
rename to crowdin/config.yaml
diff --git a/crowdin/crowdin_aosp.yaml b/crowdin/crowdin_aosp.yaml
deleted file mode 100644
index 79c38ad..0000000
--- a/crowdin/crowdin_aosp.yaml
+++ /dev/null
@@ -1,148 +0,0 @@
-# crowdin_aosp.yaml
-#
-# Crowdin configuration file for CyanogenMod's
-# additional languages not supported by AOSP
-#
-# Copyright (C) 2014 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.
-
-project_identifier: cyanogenmod-aosp
-preserve_hierarchy: true
-
-files:
- # Framework packages
- -
- source: '/frameworks/base/core/res/res/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: &anchor
- android_code:
- ast: es-rXA
- bn: bn
- cy: cy
- eu: eu
- is: is
- ku: ku
- lb: lb
- ml-IN: ml
- pa-IN: pa
- ta: ta
- ug: ug
-
- -
- source: '/frameworks/base/packages/**/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
- ignore:
- - /frameworks/base/packages/services
- - /frameworks/base/packages/WallpaperCropper
- - /frameworks/base/packages/Keyguard/test
-
- # Apps
- -
- source: '/packages/apps/**/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
- ignore:
- - /packages/apps/**/tests
- - /packages/apps/Apollo
- - /packages/apps/AudioFX
- - /packages/apps/BluetoothExt
- - /packages/apps/CameraNext
- - /packages/apps/CM*
- - /packages/apps/DSPManager
- - /packages/apps/Eleven
- - /packages/apps/Email/emailcommon
- - /packages/apps/GalleryNext
- - /packages/apps/LockClock
- - /packages/apps/Mms/apptests
- - /packages/apps/OneClickAndroid
- - /packages/apps/SamsungServiceMode
- - /packages/apps/Screencast
- - /packages/apps/SpeechRecorder
- - /packages/apps/ThemeChooser
- - /packages/apps/ThemeStore
- - /packages/apps/Torch
- - /packages/apps/Trebuchet
- - /packages/apps/VoicePlus
- - /packages/apps/VoiceWakeup
-
- -
- source: '/packages/apps/Bluetooth/res/values/strings_pbap.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- -
- source: '/packages/apps/Calendar/res/values/arrays.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- -
- source: '/packages/apps/DeskClock/res/values/array.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- -
- source: '/packages/apps/Gallery2/res/values/filtershow_strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- -
- source: '/packages/apps/Mms/res/values/arrays.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- -
- source: '/packages/apps/Settings/res/values/arrays.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- # Input methods
- -
- source: '/packages/inputmethods/LatinIME/java/res/values/strings*.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- # Providers
- -
- source: '/packages/providers/**/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
- ignore:
- - /packages/providers/**/tests
- - /packages/providers/PartnerBookmarksProvider
- - /packages/providers/ThemesProvider
- - /packages/providers/UserDictionaryProvider
-
- # Screensavers
- -
- source: '/packages/screensavers/**/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
-
- # Services
- -
- source: '/packages/services/**/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
- ignore:
- - /packages/services/**/tests
-
- # Wallpapers
- -
- source: '/packages/wallpapers/**/values/strings.xml'
- translation: '/%original_path%-%android_code%/%original_file_name%'
- languages_mapping: *anchor
- ignore:
- - /packages/wallpapers/Galaxy4
- - /packages/wallpapers/PhotoPhase
diff --git a/crowdin/crowdin_cm.yaml b/crowdin/crowdin_cm-11.0.yaml
similarity index 60%
rename from crowdin/crowdin_cm.yaml
rename to crowdin/crowdin_cm-11.0.yaml
index ccf5e67..3931969 100644
--- a/crowdin/crowdin_cm.yaml
+++ b/crowdin/crowdin_cm-11.0.yaml
@@ -1,4 +1,4 @@
-# crowdin_cm.yaml
+# crowdin_cm-11.0.yaml
#
# Crowdin configuration file for CyanogenMod
#
@@ -22,7 +22,7 @@
files:
# Default for AOSP projects with CM additions
-
- source: '/**/values/cm_*.xml'
+ source: '/cm-11.0/**/values/cm_*.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: &anchor
android_code:
@@ -90,227 +90,227 @@
vi: vi
zu: zu
ignore:
- - /**/cm_extra.xml
- - /**/cm_colors.xml
- - /**/cm_dimens.xml
- - /**/cm_integers.xml
- - /frameworks/base/core/res/**/cm_arrays.xml
- - /frameworks/base/core/res/**/cm_public.xml
- - /packages/apps/Browser/**/cm_arrays.xml
- - /packages/apps/Calendar/**/cm_arrays.xml
- - /packages/apps/Camera2/**/cm_arrays.xml
- - /packages/apps/DeskClock/**/cm_arrays.xml
- - /packages/apps/Email/**/cm_arrays.xml
- - /packages/providers/TelephonyProvider/**/cm_strings.xml
- - /packages/services/Telephony/**/cm_arrays.xml
- - /device/**/overlay/**/*.xml
- - /development/**/*.xml
+ - /cm-11.0/**/cm_extra.xml
+ - /cm-11.0/**/cm_colors.xml
+ - /cm-11.0/**/cm_dimens.xml
+ - /cm-11.0/**/cm_integers.xml
+ - /cm-11.0/frameworks/base/core/res/**/cm_arrays.xml
+ - /cm-11.0/frameworks/base/core/res/**/cm_public.xml
+ - /cm-11.0/packages/apps/Browser/**/cm_arrays.xml
+ - /cm-11.0/packages/apps/Calendar/**/cm_arrays.xml
+ - /cm-11.0/packages/apps/Camera2/**/cm_arrays.xml
+ - /cm-11.0/packages/apps/DeskClock/**/cm_arrays.xml
+ - /cm-11.0/packages/apps/Email/**/cm_arrays.xml
+ - /cm-11.0/packages/providers/TelephonyProvider/**/cm_strings.xml
+ - /cm-11.0/packages/services/Telephony/**/cm_arrays.xml
+ - /cm-11.0/device/**/overlay/**/*.xml
+ - /cm-11.0/development/**/*.xml
# Default for device apps
-
- source: '/device/**/values/arrays.xml'
+ source: '/cm-11.0/device/**/values/arrays.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
ignore:
- - /device/google/**/*.xml
- - /device/sample/**/*.xml
- - /device/samsung/p1-common/**/*.xml
- - /device/sony/**/*.xml
- - /device/**/overlay/**/*.xml
+ - /cm-11.0/device/google/**/*.xml
+ - /cm-11.0/device/sample/**/*.xml
+ - /cm-11.0/device/samsung/p1-common/**/*.xml
+ - /cm-11.0/device/sony/**/*.xml
+ - /cm-11.0/device/**/overlay/**/*.xml
-
- source: '/device/**/values/plurals.xml'
+ source: '/cm-11.0/device/**/values/plurals.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
ignore:
- - /device/google/**/*.xml
- - /device/sample/**/*.xml
- - /device/sony/**/*.xml
- - /device/**/overlay/**/*.xml
+ - /cm-11.0/device/google/**/*.xml
+ - /cm-11.0/device/sample/**/*.xml
+ - /cm-11.0/device/sony/**/*.xml
+ - /cm-11.0/device/**/overlay/**/*.xml
-
- source: '/device/**/values/strings.xml'
+ source: '/cm-11.0/device/**/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
ignore:
- - /device/google/**/*.xml
- - /device/sample/**/*.xml
- - /device/sony/**/*.xml
- - /device/**/overlay/**/*.xml
+ - /cm-11.0/device/google/**/*.xml
+ - /cm-11.0/device/sample/**/*.xml
+ - /cm-11.0/device/sony/**/*.xml
+ - /cm-11.0/device/**/overlay/**/*.xml
# Default for CM apps (CMAccount, CMFM etc.)
-
- source: '/packages/apps/CM*/**/values/arrays.xml'
+ source: '/cm-11.0/packages/apps/CM*/**/values/arrays.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
ignore:
- - /packages/apps/CM*/tests/**/*.xml
- - /packages/apps/CMFileManager/**/arrays.xml
- - /packages/apps/CMUpdater/**/arrays.xml
+ - /cm-11.0/packages/apps/CM*/tests/**/*.xml
+ - /cm-11.0/packages/apps/CMFileManager/**/arrays.xml
+ - /cm-11.0/packages/apps/CMUpdater/**/arrays.xml
-
- source: '/packages/apps/CM*/**/values/plurals.xml'
+ source: '/cm-11.0/packages/apps/CM*/**/values/plurals.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
ignore:
- - /packages/apps/CM*/tests/**/*.xml
+ - /cm-11.0/packages/apps/CM*/tests/**/*.xml
-
- source: '/packages/apps/CM*/**/values/strings.xml'
+ source: '/cm-11.0/packages/apps/CM*/**/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
ignore:
- - /packages/apps/CM*/tests/**/*.xml
- - /packages/apps/CMKeyguard/**/strings.xml
+ - /cm-11.0/packages/apps/CM*/tests/**/*.xml
+ - /cm-11.0/packages/apps/CMKeyguard/**/strings.xml
# Other projects
# WallpaperCropper
-
- source: '/frameworks/base/packages/WallpaperCropper/res/values/strings.xml'
+ source: '/cm-11.0/frameworks/base/packages/WallpaperCropper/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Apollo
-
- source: '/packages/apps/Apollo/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/Apollo/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
-
- source: '/packages/apps/Apollo/res/values/plurals.xml'
+ source: '/cm-11.0/packages/apps/Apollo/res/values/plurals.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# BluetoothExt
-
- source: '/packages/apps/BluetoothExt/res/values/strings*.xml'
+ source: '/cm-11.0/packages/apps/BluetoothExt/res/values/strings*.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Camera2 (qcomstrings.xml)
-
- source: '/packages/apps/Camera2/res/values/qcomstrings.xml'
+ source: '/cm-11.0/packages/apps/Camera2/res/values/qcomstrings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# CameraNext (qcomstrings.xml)
-
- source: '/packages/apps/CameraNext/res/values/qcomstrings.xml'
+ source: '/cm-11.0/packages/apps/CameraNext/res/values/qcomstrings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# DSPManager
-
- source: '/packages/apps/DSPManager/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/DSPManager/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
-
- source: '/packages/apps/DSPManager/res/values/arrays.xml'
+ source: '/cm-11.0/packages/apps/DSPManager/res/values/arrays.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Eleven
-
- source: '/packages/apps/Eleven/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/Eleven/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
-
- source: '/packages/apps/Eleven/res/values/plurals.xml'
+ source: '/cm-11.0/packages/apps/Eleven/res/values/plurals.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Gallery2 (codeaurora_strings.xml)
-
- source: '/packages/apps/Gallery2/res/values/codeaurora_strings.xml'
+ source: '/cm-11.0/packages/apps/Gallery2/res/values/codeaurora_strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# GalleryNext
-
- source: '/packages/apps/GalleryNext/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/GalleryNext/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# LockClock
-
- source: '/packages/apps/LockClock/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/LockClock/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# OneClickAndroid
-
- source: '/packages/apps/OneClickAndroid/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/OneClickAndroid/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Screencast
-
- source: '/packages/apps/Screencast/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/Screencast/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# ThemeChooser
-
- source: '/packages/apps/ThemeChooser/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/ThemeChooser/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# ThemeStore
-
- source: '/packages/apps/ThemeStore/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/ThemeStore/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Torch
-
- source: '/packages/apps/Torch/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/Torch/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# VoicePlus
-
- source: '/packages/apps/VoicePlus/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/VoicePlus/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# VoiceWakeup
-
- source: '/packages/apps/VoiceWakeup/res/values/strings.xml'
+ source: '/cm-11.0/packages/apps/VoiceWakeup/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# ThemesProvider
-
- source: '/packages/providers/ThemesProvider/res/values/strings.xml'
+ source: '/cm-11.0/packages/providers/ThemesProvider/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# UserDictionaryProvider
-
- source: '/packages/providers/UserDictionaryProvider/res/values/strings.xml'
+ source: '/cm-11.0/packages/providers/UserDictionaryProvider/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Galaxy4
-
- source: '/packages/wallpapers/Galaxy4/res/values/strings.xml'
+ source: '/cm-11.0/packages/wallpapers/Galaxy4/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# PhotoPhase
-
- source: '/packages/wallpapers/PhotoPhase/res/values/strings.xml'
+ source: '/cm-11.0/packages/wallpapers/PhotoPhase/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
-
- source: '/packages/wallpapers/PhotoPhase/res/values/plurals.xml'
+ source: '/cm-11.0/packages/wallpapers/PhotoPhase/res/values/plurals.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# Superuser
-
- source: '/external/koush/Superuser/Superuser/res/values/strings.xml'
+ source: '/cm-11.0/external/koush/Superuser/Superuser/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# WhisperPush
-
- source: '/external/whispersystems/WhisperPush/res/values/strings.xml'
+ source: '/cm-11.0/external/whispersystems/WhisperPush/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
@@ -318,22 +318,22 @@
# fmapp2
-
- source: '/hardware/qcom/fm/fmapp2/res/values/strings.xml'
+ source: '/cm-11.0/hardware/qcom/fm/fmapp2/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
-
- source: '/hardware/qcom/fm/fmapp2/res/values/arrays.xml'
+ source: '/cm-11.0/hardware/qcom/fm/fmapp2/res/values/arrays.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
# FMRecord
-
- source: '/hardware/qcom/fm/FMRecord/res/values/strings.xml'
+ source: '/cm-11.0/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'
+ source: '/cm-11.0/packages/apps/SamsungServiceMode/res/values/strings.xml'
translation: '/%original_path%-%android_code%/%original_file_name%'
languages_mapping: *anchor
diff --git a/crowdin/crowdin_cm-11.0_aosp.yaml b/crowdin/crowdin_cm-11.0_aosp.yaml
new file mode 100644
index 0000000..ae58f83
--- /dev/null
+++ b/crowdin/crowdin_cm-11.0_aosp.yaml
@@ -0,0 +1,148 @@
+# crowdin_cm-11.0_aosp.yaml
+#
+# Crowdin configuration file for CyanogenMod's
+# additional languages not supported by AOSP
+#
+# Copyright (C) 2014 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.
+
+project_identifier: cyanogenmod-aosp
+preserve_hierarchy: true
+
+files:
+ # Framework packages
+ -
+ source: '/cm-11.0/frameworks/base/core/res/res/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: &anchor
+ android_code:
+ ast: es-rXA
+ bn: bn
+ cy: cy
+ eu: eu
+ is: is
+ ku: ku
+ lb: lb
+ ml-IN: ml
+ pa-IN: pa
+ ta: ta
+ ug: ug
+
+ -
+ source: '/cm-11.0/frameworks/base/packages/**/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ ignore:
+ - /cm-11.0/frameworks/base/packages/services
+ - /cm-11.0/frameworks/base/packages/WallpaperCropper
+ - /cm-11.0/frameworks/base/packages/Keyguard/test
+
+ # Apps
+ -
+ source: '/cm-11.0/packages/apps/**/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ ignore:
+ - /cm-11.0/packages/apps/**/tests
+ - /cm-11.0/packages/apps/Apollo
+ - /cm-11.0/packages/apps/AudioFX
+ - /cm-11.0/packages/apps/BluetoothExt
+ - /cm-11.0/packages/apps/CameraNext
+ - /cm-11.0/packages/apps/CM*
+ - /cm-11.0/packages/apps/DSPManager
+ - /cm-11.0/packages/apps/Eleven
+ - /cm-11.0/packages/apps/Email/emailcommon
+ - /cm-11.0/packages/apps/GalleryNext
+ - /cm-11.0/packages/apps/LockClock
+ - /cm-11.0/packages/apps/Mms/apptests
+ - /cm-11.0/packages/apps/OneClickAndroid
+ - /cm-11.0/packages/apps/SamsungServiceMode
+ - /cm-11.0/packages/apps/Screencast
+ - /cm-11.0/packages/apps/SpeechRecorder
+ - /cm-11.0/packages/apps/ThemeChooser
+ - /cm-11.0/packages/apps/ThemeStore
+ - /cm-11.0/packages/apps/Torch
+ - /cm-11.0/packages/apps/Trebuchet
+ - /cm-11.0/packages/apps/VoicePlus
+ - /cm-11.0/packages/apps/VoiceWakeup
+
+ -
+ source: '/cm-11.0/packages/apps/Bluetooth/res/values/strings_pbap.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ -
+ source: '/cm-11.0/packages/apps/Calendar/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ -
+ source: '/cm-11.0/packages/apps/DeskClock/res/values/array.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ -
+ source: '/cm-11.0/packages/apps/Gallery2/res/values/filtershow_strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ -
+ source: '/cm-11.0/packages/apps/Mms/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ -
+ source: '/cm-11.0/packages/apps/Settings/res/values/arrays.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Input methods
+ -
+ source: '/cm-11.0/packages/inputmethods/LatinIME/java/res/values/strings*.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Providers
+ -
+ source: '/cm-11.0/packages/providers/**/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ ignore:
+ - /cm-11.0/packages/providers/**/tests
+ - /cm-11.0/packages/providers/PartnerBookmarksProvider
+ - /cm-11.0/packages/providers/ThemesProvider
+ - /cm-11.0/packages/providers/UserDictionaryProvider
+
+ # Screensavers
+ -
+ source: '/cm-11.0/packages/screensavers/**/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+
+ # Services
+ -
+ source: '/cm-11.0/packages/services/**/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ ignore:
+ - /cm-11.0/packages/services/**/tests
+
+ # Wallpapers
+ -
+ source: '/cm-11.0/packages/wallpapers/**/values/strings.xml'
+ translation: '/%original_path%-%android_code%/%original_file_name%'
+ languages_mapping: *anchor
+ ignore:
+ - /cm-11.0/packages/wallpapers/Galaxy4
+ - /cm-11.0/packages/wallpapers/PhotoPhase
diff --git a/crowdin/extra_packages.xml b/crowdin/extra_packages_cm-11.0.xml
similarity index 100%
rename from crowdin/extra_packages.xml
rename to crowdin/extra_packages_cm-11.0.xml
diff --git a/crowdin_sync.py b/crowdin_sync.py
index 0d3124f..e4f34f8 100755
--- a/crowdin_sync.py
+++ b/crowdin_sync.py
@@ -91,7 +91,7 @@
############################################# PREPARE ##############################################
-print('\nSTEP 0A: Checking dependencies')
+print('\nSTEP 0: Checking dependencies & define shared variables')
# Check for Ruby version of crowdin-cli
if subprocess.check_output(['rvm', 'all', 'do', 'gem', 'list', 'crowdin-cli', '-i']) == 'true':
sys.exit('You have not installed crowdin-cli. Terminating.')
@@ -110,38 +110,6 @@
else:
print('Found: android/default.xml')
-# Check for crowdin/config_aosp.yaml
-if not os.path.isfile('crowdin/config_aosp.yaml'):
- sys.exit('You have no crowdin/config_aosp.yaml. Terminating.')
-else:
- print('Found: crowdin/config_aosp.yaml')
-
-# Check for crowdin/config_cm.yaml
-if not os.path.isfile('crowdin/config_cm.yaml'):
- sys.exit('You have no crowdin/config_cm.yaml. Terminating.')
-else:
- print('Found: crowdin/config_cm.yaml')
-
-# Check for crowdin/crowdin_aosp.yaml
-if not os.path.isfile('crowdin/crowdin_aosp.yaml'):
- sys.exit('You have no crowdin/crowdin_aosp.yaml. Terminating.')
-else:
- print('Found: crowdin/crowdin_aosp.yaml')
-
-# Check for crowdin/crowdin_cm.yaml
-if not os.path.isfile('crowdin/crowdin_cm.yaml'):
- sys.exit('You have no crowdin/crowdin_cm.yaml. Terminating.')
-else:
- print('Found: crowdin/crowdin_cm.yaml')
-
-# Check for crowdin/extra_packages.xml
-if not os.path.isfile('crowdin/extra_packages.xml'):
- sys.exit('You have no crowdin/extra_packages.xml. Terminating.')
-else:
- print('Found: crowdin/extra_packages.xml')
-
-print('\nSTEP 0B: Define shared variables')
-
# Variables regarding android/default.xml
print('Loading: android/default.xml')
xml_android = minidom.parse('android/default.xml')
@@ -150,17 +118,47 @@
default_branch = get_default_branch(xml_android)
print('Default branch: ' + default_branch)
+# Check for crowdin/extra_packages_' + default_branch + '.xml
+if not os.path.isfile('crowdin/extra_packages_' + default_branch + '.xml'):
+ sys.exit('You have no crowdin/extra_packages_' + default_branch + '.xml. Terminating.')
+else:
+ print('Found: crowdin/extra_packages_' + default_branch + '.xml')
+
+# Check for crowdin/config.yaml
+if not os.path.isfile('crowdin/config.yaml'):
+ sys.exit('You have no crowdin/config.yaml. Terminating.')
+else:
+ print('Found: crowdin/config.yaml')
+
+# Check for crowdin/config_aosp.yaml
+if not os.path.isfile('crowdin/config_aosp.yaml'):
+ sys.exit('You have no crowdin/config_aosp.yaml. Terminating.')
+else:
+ print('Found: crowdin/config_aosp.yaml')
+
+# Check for crowdin/crowdin_' + default_branch + '.yaml
+if not os.path.isfile('crowdin/crowdin_' + default_branch + '.yaml'):
+ sys.exit('You have no crowdin/crowdin_' + default_branch + '.yaml. Terminating.')
+else:
+ print('Found: crowdin/crowdin_' + default_branch + '.yaml')
+
+# Check for crowdin/crowdin_' + default_branch + '_aosp.yaml
+if not os.path.isfile('crowdin/crowdin_' + default_branch + '_aosp.yaml'):
+ sys.exit('You have no crowdin/crowdin_' + default_branch + '_aosp.yaml. Terminating.')
+else:
+ print('Found: crowdin/crowdin_' + default_branch + '_aosp.yaml')
+
############################################### MAIN ###############################################
if not args.no_upload:
print('\nSTEP 1: Upload Crowdin source translations')
- print('Uploading Crowdin source translations (non-AOSP supported languages)')
- # Execute 'crowdin-cli upload sources' and show output
- print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_aosp.yaml', '--identity=crowdin/config_aosp.yaml', 'upload', 'sources']))
-
print('Uploading Crowdin source translations (AOSP supported languages)')
# Execute 'crowdin-cli upload sources' and show output
- print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_cm.yaml', '--identity=crowdin/config_cm.yaml', 'upload', 'sources']))
+ print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_' + default_branch + '.yaml', '--identity=crowdin/config.yaml', 'upload', 'sources']))
+
+ print('Uploading Crowdin source translations (non-AOSP supported languages)')
+ # Execute 'crowdin-cli upload sources' and show output
+ print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_' + default_branch + '_aosp.yaml', '--identity=crowdin/config_aosp.yaml', 'upload', 'sources']))
else:
print('\nSkipping source translations upload')
@@ -168,11 +166,11 @@
print('\nSTEP 2: Download Crowdin translations')
print('Downloading Crowdin translations (AOSP supported languages)')
# Execute 'crowdin-cli download' and show output
- print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_cm.yaml', '--identity=crowdin/config_cm.yaml', 'download']))
+ print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_' + default_branch + '.yaml', '--identity=crowdin/config.yaml', 'download']))
print('Downloading Crowdin translations (non-AOSP supported languages)')
# Execute 'crowdin-cli download' and show output
- print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_aosp.yaml', '--identity=crowdin/config_aosp.yaml', 'download']))
+ print(subprocess.check_output(['crowdin-cli', '--config=crowdin/crowdin_' + default_branch + '_aosp.yaml', '--identity=crowdin/config_aosp.yaml', 'download']))
print('\nSTEP 3: Remove useless empty translations')
# Some line of code that I found to find all XML files
@@ -187,11 +185,11 @@
print('\nSTEP 4: Create a list of pushable translations')
# Get all files that Crowdin pushed
- proc = subprocess.Popen(['crowdin-cli --config=crowdin/crowdin_cm.yaml --identity=crowdin/config_cm.yaml list sources && crowdin-cli --config=crowdin/crowdin_aosp.yaml --identity=crowdin/config_aosp.yaml list sources'], stdout=subprocess.PIPE, shell=True)
+ proc = subprocess.Popen(['crowdin-cli --config=crowdin/crowdin_' + default_branch + '.yaml --identity=crowdin/config.yaml list sources | grep "' + default_branch + '" | sed "s#/' + default_branch + '##g" && crowdin-cli --config=crowdin/crowdin_' + default_branch + '_aosp.yaml --identity=crowdin/config_aosp.yaml list sources | grep "' + default_branch + '" | sed "s#/' + default_branch + '##g"'], stdout=subprocess.PIPE, shell=True)
proc.wait() # Wait for the above to finish
print('\nSTEP 5: Upload to Gerrit')
- xml_extra = minidom.parse('crowdin/extra_packages.xml')
+ xml_extra = minidom.parse('crowdin/extra_packages_' + default_branch + '.xml')
items = xml_android.getElementsByTagName('project')
items += xml_extra.getElementsByTagName('project')
all_projects = []
@@ -226,7 +224,7 @@
# and check if it's already in there.
all_projects.append(result)
- # Search in android/default.xml or crowdin/extra_packages.xml for the project's name
+ # Search in android/default.xml or crowdin/extra_packages_' + default_branch + '.xml for the project's name
for project_item in items:
if project_item.attributes['path'].value != result:
# No match found, go to next item