forked from gitea/gitea
		
	Improve sed detection in update-locales.sh (#23254)
- ~~Make scripts work from any directory~~ - Detect sed version just like Makefile does --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: John Olheiser <john.olheiser@gmail.com>
This commit is contained in:
		
							parent
							
								
									547c173dab
								
							
						
					
					
						commit
						b6d2c94966
					
				| @ -1,13 +1,14 @@ | ||||
| #!/bin/bash | ||||
| #!/bin/sh | ||||
| 
 | ||||
| set -e | ||||
| # this script runs in alpine image which only has `sh` shell | ||||
| 
 | ||||
| SED=sed | ||||
| 
 | ||||
| if [[ $OSTYPE == 'darwin'* ]]; then | ||||
|   # for macOS developers, use "brew install gnu-sed" | ||||
|   SED=gsed | ||||
| set +e | ||||
| if sed --version 2>/dev/null | grep -q GNU; then | ||||
|   SED_INPLACE="sed -i" | ||||
| else | ||||
|   SED_INPLACE="sed -i ''" | ||||
| fi | ||||
| set -e | ||||
| 
 | ||||
| if [ ! -f ./options/locale/locale_en-US.ini ]; then | ||||
|   echo "please run this script in the root directory of the project" | ||||
| @ -32,7 +33,7 @@ mv ./options/locale/locale_en-US.ini ./options/ | ||||
| # * remove the trailing quote | ||||
| # * unescape the quotes | ||||
| # * eg: key="...\"..." => key=..."... | ||||
| $SED -i -r -e '/^[-.A-Za-z0-9_]+[ ]*=[ ]*".*"$/ { | ||||
| $SED_INPLACE -r -e '/^[-.A-Za-z0-9_]+[ ]*=[ ]*".*"$/ { | ||||
| 	s/^([-.A-Za-z0-9_]+)[ ]*=[ ]*"/\1=/ | ||||
| 	s/"$// | ||||
| 	s/\\"/"/g | ||||
| @ -41,8 +42,8 @@ $SED -i -r -e '/^[-.A-Za-z0-9_]+[ ]*=[ ]*".*"$/ { | ||||
| # * if the escaped line is incomplete like `key="...` or `key=..."`, quote it with backticks | ||||
| # * eg: key="... => key=`"...` | ||||
| # * eg: key=..." => key=`..."` | ||||
| $SED -i -r -e 's/^([-.A-Za-z0-9_]+)[ ]*=[ ]*(".*[^"])$/\1=`\2`/' ./options/locale/*.ini | ||||
| $SED -i -r -e 's/^([-.A-Za-z0-9_]+)[ ]*=[ ]*([^"].*")$/\1=`\2`/' ./options/locale/*.ini | ||||
| $SED_INPLACE -r -e 's/^([-.A-Za-z0-9_]+)[ ]*=[ ]*(".*[^"])$/\1=`\2`/' ./options/locale/*.ini | ||||
| $SED_INPLACE -r -e 's/^([-.A-Za-z0-9_]+)[ ]*=[ ]*([^"].*")$/\1=`\2`/' ./options/locale/*.ini | ||||
| 
 | ||||
| # Remove translation under 25% of en_us | ||||
| baselines=$(wc -l "./options/locale_en-US.ini" | cut -d" " -f1) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 silverwind
						silverwind