I think you can just move the languages folder to /wp-content/languages/
then you prevent the theme to update your translations of the theme. And then you can add your own little plugin to change the load_theme_textdomain
path to the new folder in wp-content:
Add this as a plugin in /wp-content/plugins/buttercream-lang.php
/**
* Plugin Name: Buttercream Custom Language
* Plugin URI: https://github.com/pontusab/buttercream-custom-language
* Text Domain: buttercream
* Domain Path: /wp-content/languages/
* Description: Add your own languages to Buttercream without losing when update.
* Author: Pontus Abrahamsson <[email protected]>
* Author URI: http://pontusab.se
* License: MIT
* License URI: http://www.opensource.org/licenses/mit-license.php
*/
add_action( 'after_setup_theme', 'wpse_load_languages' );
function wpse_load_languages()
{
load_theme_textdomain( 'buttercream', WP_CONTENT_DIR . '/languages' );
}