32 lines
		
	
	
		
			683 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			683 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Rename translation keys in translation files.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Usage:
							 | 
						||
| 
								 | 
							
								#    renameTranslationKeys.sh <mapping files...>
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# The mapping files contain "<original> <new>" key pairs.
							 | 
						||
| 
								 | 
							
								# Empty lines and lines starting with "#" are ignored.
							 | 
						||
| 
								 | 
							
								# All translation files are modified at once.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TRANSLATIONS=messages*.properties
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cat "$@" | while read line; do
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if echo "$line" | grep -q "^\s*$\|^\s*#"; then
							 | 
						||
| 
								 | 
							
									continue
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if ! echo "$line" | egrep -q "^\s*[a-zA-Z0-9._-]+\s+[a-zA-Z0-9._-]+\s*$"; then
							 | 
						||
| 
								 | 
							
									echo "Invalid line:  $line"
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    from="`echo $line | cut -d" " -f1`"
							 | 
						||
| 
								 | 
							
								    to="`echo $line | cut -d" " -f2`"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    sed -i "s/^${from}\s*=\s*/${to} = /" $TRANSLATIONS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								done
							 |