locale.service.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. class LocaleService {
  2. constructor(){}
  3. getLanguage(db){
  4. // TODO: Implement;
  5. return "en"
  6. }
  7. async localizeProject(data, db){
  8. var result = await db.sequelize.query('SELECT text FROM texts WHERE lang = ? AND id = ?', { replacements: ['en', data.dataValues.title], type: db.sequelize.QueryTypes.SELECT })
  9. for (const r of result) {
  10. data.dataValues.title = r.text;
  11. break;
  12. }
  13. result = await db.sequelize.query('SELECT text FROM texts WHERE lang = ? AND id = ?', { replacements: ['en', data.dataValues.header], type: db.sequelize.QueryTypes.SELECT })
  14. for (const r of result) {
  15. data.dataValues.header = r.text;
  16. break;
  17. }
  18. result = await db.sequelize.query('SELECT text FROM texts WHERE lang = ? AND id = ?', { replacements: ['en', data.dataValues.text], type: db.sequelize.QueryTypes.SELECT })
  19. for (const r of result) {
  20. data.dataValues.text = r.text;
  21. break;
  22. }
  23. result = await db.sequelize.query('SELECT text FROM texts WHERE lang = ? AND id = ?', { replacements: ['en', data.dataValues.comment], type: db.sequelize.QueryTypes.SELECT })
  24. for (const r of result) {
  25. data.dataValues.comment = r.text;
  26. break;
  27. }
  28. return data;
  29. }
  30. async localizeProjects(data, db){
  31. for (var d of data)
  32. d = await this.localizeProject(d, db);
  33. return data;
  34. }
  35. async localizeLicense(data, db){
  36. var result = await db.sequelize.query('SELECT text FROM texts WHERE lang = ? AND id = ?', { replacements: ['en', data.dataValues.summary], type: db.sequelize.QueryTypes.SELECT })
  37. for (const r of result) {
  38. data.dataValues.summary = r.text;
  39. break;
  40. }
  41. result = await db.sequelize.query('SELECT text FROM texts WHERE lang = ? AND id = ?', { replacements: ['en', data.dataValues.legal], type: db.sequelize.QueryTypes.SELECT })
  42. for (const r of result) {
  43. data.dataValues.legal = r.text;
  44. break;
  45. }
  46. return data;
  47. }
  48. async localizeLicenses(data, db){
  49. for (var d of data)
  50. d = await this.localizeLicense(d, db);
  51. return data;
  52. }
  53. }
  54. module.exports = LocaleService;