[Client] Fix bug
This commit is contained in:
		
							parent
							
								
									e581ce3014
								
							
						
					
					
						commit
						4cac6316f7
					
				
					 1 changed files with 42 additions and 30 deletions
				
			
		|  | @ -4,34 +4,46 @@ | |||
| 
 | ||||
| const StringReplacePlugin = require('string-replace-webpack-plugin'); | ||||
| 
 | ||||
| export default (lang, locale) => ({ | ||||
| 	enforce: 'pre', | ||||
| 	test: /\.(tag|js)$/, | ||||
| 	exclude: /node_modules/, | ||||
| 	loader: StringReplacePlugin.replace({ | ||||
| 		replacements: [ | ||||
| 			{ | ||||
| 				pattern: /%i18n:(.+?)%/g, replacement: (_, key) => { | ||||
| 					let text = locale; | ||||
| 					 | ||||
| 					// Check the key existance
 | ||||
| 					const error = key.split('.').some(k => { | ||||
| 						if (text.hasOwnProperty(k)) { | ||||
| 							text = text[k]; | ||||
| 							return false; | ||||
| 						} else { | ||||
| 							return true; | ||||
| 						} | ||||
| 					}); | ||||
| 					 | ||||
| 					if (error) { | ||||
| 						console.warn(`key '${key}' not found in '${lang}'`); | ||||
| 						return key; // Fallback
 | ||||
| 					} else { | ||||
| 						return text.replace(/'/g, '\\\'').replace(/"/g, '\\"'); | ||||
| 					} | ||||
| 				} | ||||
| export default (lang, locale) => { | ||||
| 	function get(key: string) { | ||||
| 		let text = locale; | ||||
| 
 | ||||
| 		// Check the key existance
 | ||||
| 		const error = key.split('.').some(k => { | ||||
| 			if (text.hasOwnProperty(k)) { | ||||
| 				text = text[k]; | ||||
| 				return false; | ||||
| 			} else { | ||||
| 				return true; | ||||
| 			} | ||||
| 		] | ||||
| 	}) | ||||
| }); | ||||
| 		}); | ||||
| 
 | ||||
| 		if (error) { | ||||
| 			console.warn(`key '${key}' not found in '${lang}'`); | ||||
| 			return key; // Fallback
 | ||||
| 		} else { | ||||
| 			return text; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return { | ||||
| 		enforce: 'pre', | ||||
| 		test: /\.(tag|js)$/, | ||||
| 		exclude: /node_modules/, | ||||
| 		loader: StringReplacePlugin.replace({ | ||||
| 			replacements: [{ | ||||
| 				pattern: /"%i18n:(.+?)%"/g, replacement: (_, key) => { | ||||
| 					return '"' + get(key).replace(/"/g, '\\"') + '"'; | ||||
| 				} | ||||
| 			}, { | ||||
| 				pattern: /'%i18n:(.+?)%'/g, replacement: (_, key) => { | ||||
| 					return '\'' + get(key).replace(/'/g, '\\\'') + '\''; | ||||
| 				} | ||||
| 			}, { | ||||
| 				pattern: /%i18n:(.+?)%/g, replacement: (_, key) => { | ||||
| 					return get(key); | ||||
| 				} | ||||
| 			}] | ||||
| 		}) | ||||
| 	}; | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue