| 
									
										
										
										
											2017-04-27 20:24:53 +02:00
										 |  |  | // SPDX-License-Identifier: GPL-2.0
 | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | #include <QCoreApplication>
 | 
					
						
							|  |  |  | #include <QString>
 | 
					
						
							| 
									
										
										
										
											2016-04-04 22:02:03 -07:00
										 |  |  | #include "gettextfromc.h"
 | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-10 00:15:21 -07:00
										 |  |  | const char *gettextFromC::trGettext(const char *text) | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-11-01 18:23:06 +01:00
										 |  |  | 	QByteArray &result = translationCache[QByteArray(text)]; | 
					
						
							| 
									
										
										
										
											2013-10-08 22:44:38 -07:00
										 |  |  | 	if (result.isEmpty()) | 
					
						
							| 
									
										
										
										
											2015-01-29 13:35:28 -08:00
										 |  |  | 		result = translationCache[QByteArray(text)] = trUtf8(text).toUtf8(); | 
					
						
							| 
									
										
										
										
											2013-10-08 22:44:38 -07:00
										 |  |  | 	return result.constData(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void gettextFromC::reset(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	translationCache.clear(); | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | gettextFromC *gettextFromC::instance() | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-11-30 09:18:04 -08:00
										 |  |  | 	static QScopedPointer<gettextFromC> self(new gettextFromC()); | 
					
						
							|  |  |  | 	return self.data(); | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-10 00:15:21 -07:00
										 |  |  | extern "C" const char *trGettext(const char *text) | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-10-10 00:15:21 -07:00
										 |  |  | 	return gettextFromC::instance()->trGettext(text); | 
					
						
							| 
									
										
										
										
											2013-10-06 08:55:58 -07:00
										 |  |  | } |