forked from mirrors/Fedilab
		
	Fix issue #244 - Add support for setting post language
This commit is contained in:
		
							parent
							
								
									eaac079d89
								
							
						
					
					
						commit
						18c3424ed3
					
				
					 10 changed files with 864 additions and 3 deletions
				
			
		
							
								
								
									
										730
									
								
								app/src/main/assets/languages/iso_639_1.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										730
									
								
								app/src/main/assets/languages/iso_639_1.json
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,730 @@
 | 
			
		|||
[
 | 
			
		||||
  {
 | 
			
		||||
    "code": "aa",
 | 
			
		||||
    "language": "Afaraf"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ab",
 | 
			
		||||
    "language": "аҧсуа бызшәа"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ae",
 | 
			
		||||
    "language": "avesta"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "af",
 | 
			
		||||
    "language": "Afrikaans"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ak",
 | 
			
		||||
    "language": "Akan"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "am",
 | 
			
		||||
    "language": "አማርኛ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "an",
 | 
			
		||||
    "language": "aragonés"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ar",
 | 
			
		||||
    "language": "اللغة العربية"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "as",
 | 
			
		||||
    "language": "অসমীয়া"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "av",
 | 
			
		||||
    "language": "авар мацӀ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ay",
 | 
			
		||||
    "language": "aymar aru"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "az",
 | 
			
		||||
    "language": "azərbaycan dili"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ba",
 | 
			
		||||
    "language": "башҡорт теле"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "be",
 | 
			
		||||
    "language": "беларуская мова"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bg",
 | 
			
		||||
    "language": "български език"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bh",
 | 
			
		||||
    "language": "भोजपुरी"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bi",
 | 
			
		||||
    "language": "Bislama"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bm",
 | 
			
		||||
    "language": "bamanankan"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bn",
 | 
			
		||||
    "language": "বাংলা"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bo",
 | 
			
		||||
    "language": "བོད་ཡིག"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "br",
 | 
			
		||||
    "language": "brezhoneg"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "bs",
 | 
			
		||||
    "language": "bosanski jezik"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ca",
 | 
			
		||||
    "language": "Català"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ce",
 | 
			
		||||
    "language": "нохчийн мотт"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ch",
 | 
			
		||||
    "language": "Chamoru"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "co",
 | 
			
		||||
    "language": "corsu"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "cr",
 | 
			
		||||
    "language": "ᓀᐦᐃᔭᐍᐏᐣ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "cs",
 | 
			
		||||
    "language": "čeština"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "cu",
 | 
			
		||||
    "language": "ѩзыкъ словѣньскъ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "cv",
 | 
			
		||||
    "language": "чӑваш чӗлхи"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "cy",
 | 
			
		||||
    "language": "Cymraeg"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "da",
 | 
			
		||||
    "language": "dansk"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "de",
 | 
			
		||||
    "language": "Deutsch"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "dv",
 | 
			
		||||
    "language": "Dhivehi"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "dz",
 | 
			
		||||
    "language": "རྫོང་ཁ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ee",
 | 
			
		||||
    "language": "Eʋegbe"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "el",
 | 
			
		||||
    "language": "Ελληνικά"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "en",
 | 
			
		||||
    "language": "English"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "eo",
 | 
			
		||||
    "language": "Esperanto"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "es",
 | 
			
		||||
    "language": "Español"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "et",
 | 
			
		||||
    "language": "eesti"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "eu",
 | 
			
		||||
    "language": "euskara"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "fa",
 | 
			
		||||
    "language": "فارسی"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ff",
 | 
			
		||||
    "language": "Fulfulde"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "fi",
 | 
			
		||||
    "language": "suomi"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "fj",
 | 
			
		||||
    "language": "Vakaviti"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "fo",
 | 
			
		||||
    "language": "føroyskt"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "fr",
 | 
			
		||||
    "language": "Français"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "fy",
 | 
			
		||||
    "language": "Frysk"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ga",
 | 
			
		||||
    "language": "Gaeilge"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "gd",
 | 
			
		||||
    "language": "Gàidhlig"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "gl",
 | 
			
		||||
    "language": "galego"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "gu",
 | 
			
		||||
    "language": "ગુજરાતી"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "gv",
 | 
			
		||||
    "language": "Gaelg"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ha",
 | 
			
		||||
    "language": "هَوُسَ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "he",
 | 
			
		||||
    "language": "עברית"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "hi",
 | 
			
		||||
    "language": "हिन्दी"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ho",
 | 
			
		||||
    "language": "Hiri Motu"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "hr",
 | 
			
		||||
    "language": "Hrvatski"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ht",
 | 
			
		||||
    "language": "Kreyòl ayisyen"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "hu",
 | 
			
		||||
    "language": "magyar"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "hy",
 | 
			
		||||
    "language": "Հայերեն"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "hz",
 | 
			
		||||
    "language": "Otjiherero"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ia",
 | 
			
		||||
    "language": "Interlingua"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "id",
 | 
			
		||||
    "language": "Bahasa Indonesia"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ie",
 | 
			
		||||
    "language": "Interlingue"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ig",
 | 
			
		||||
    "language": "Asụsụ Igbo"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ii",
 | 
			
		||||
    "language": "ꆈꌠ꒿ Nuosuhxop"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ik",
 | 
			
		||||
    "language": "Iñupiaq"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "io",
 | 
			
		||||
    "language": "Ido"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "is",
 | 
			
		||||
    "language": "Íslenska"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "it",
 | 
			
		||||
    "language": "Italiano"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "iu",
 | 
			
		||||
    "language": "ᐃᓄᒃᑎᑐᑦ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ja",
 | 
			
		||||
    "language": "日本語"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "jv",
 | 
			
		||||
    "language": "basa Jawa"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ka",
 | 
			
		||||
    "language": "ქართული"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kg",
 | 
			
		||||
    "language": "Kikongo"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ki",
 | 
			
		||||
    "language": "Gĩkũyũ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kj",
 | 
			
		||||
    "language": "Kuanyama"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kk",
 | 
			
		||||
    "language": "қазақ тілі"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kl",
 | 
			
		||||
    "language": "kalaallisut"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "km",
 | 
			
		||||
    "language": "ខេមរភាសា"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kn",
 | 
			
		||||
    "language": "ಕನ್ನಡ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ko",
 | 
			
		||||
    "language": "한국어"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kr",
 | 
			
		||||
    "language": "Kanuri"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ks",
 | 
			
		||||
    "language": "कश्मीरी"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ku",
 | 
			
		||||
    "language": "Kurmancî"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kv",
 | 
			
		||||
    "language": "коми кыв"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "kw",
 | 
			
		||||
    "language": "Kernewek"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ky",
 | 
			
		||||
    "language": "Кыргызча"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "la",
 | 
			
		||||
    "language": "latine"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "lb",
 | 
			
		||||
    "language": "Lëtzebuergesch"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "lg",
 | 
			
		||||
    "language": "Luganda"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "li",
 | 
			
		||||
    "language": "Limburgs"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ln",
 | 
			
		||||
    "language": "Lingála"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "lo",
 | 
			
		||||
    "language": "ພາສາ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "lt",
 | 
			
		||||
    "language": "lietuvių kalba"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "lu",
 | 
			
		||||
    "language": "Tshiluba"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "lv",
 | 
			
		||||
    "language": "latviešu valoda"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mg",
 | 
			
		||||
    "language": "fiteny malagasy"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mh",
 | 
			
		||||
    "language": "Kajin M̧ajeļ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mi",
 | 
			
		||||
    "language": "te reo Māori"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mk",
 | 
			
		||||
    "language": "македонски јазик"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ml",
 | 
			
		||||
    "language": "മലയാളം"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mn",
 | 
			
		||||
    "language": "Монгол хэл"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mr",
 | 
			
		||||
    "language": "मराठी"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ms",
 | 
			
		||||
    "language": "Bahasa Melayu"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "mt",
 | 
			
		||||
    "language": "Malti"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "my",
 | 
			
		||||
    "language": "ဗမာစာ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "na",
 | 
			
		||||
    "language": "Ekakairũ Naoero"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "nb",
 | 
			
		||||
    "language": "Norsk bokmål"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "nd",
 | 
			
		||||
    "language": "isiNdebele"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ne",
 | 
			
		||||
    "language": "नेपाली"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ng",
 | 
			
		||||
    "language": "Owambo"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "nl",
 | 
			
		||||
    "language": "Nederlands"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "nn",
 | 
			
		||||
    "language": "Norsk Nynorsk"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "no",
 | 
			
		||||
    "language": "Norsk"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "nr",
 | 
			
		||||
    "language": "isiNdebele"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "nv",
 | 
			
		||||
    "language": "Diné bizaad"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ny",
 | 
			
		||||
    "language": "chiCheŵa"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "oc",
 | 
			
		||||
    "language": "occitan"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "oj",
 | 
			
		||||
    "language": "ᐊᓂᔑᓈᐯᒧᐎᓐ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "om",
 | 
			
		||||
    "language": "Afaan Oromoo"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "or",
 | 
			
		||||
    "language": "ଓଡ଼ିଆ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "os",
 | 
			
		||||
    "language": "ирон æвзаг"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "pa",
 | 
			
		||||
    "language": "ਪੰਜਾਬੀ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "pi",
 | 
			
		||||
    "language": "पाऴि"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "pl",
 | 
			
		||||
    "language": "Polski"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ps",
 | 
			
		||||
    "language": "پښتو"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "pt",
 | 
			
		||||
    "language": "Português"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "qu",
 | 
			
		||||
    "language": "Runa Simi"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "rm",
 | 
			
		||||
    "language": "rumantsch grischun"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "rn",
 | 
			
		||||
    "language": "Ikirundi"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ro",
 | 
			
		||||
    "language": "Română"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ru",
 | 
			
		||||
    "language": "Русский"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "rw",
 | 
			
		||||
    "language": "Ikinyarwanda"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sa",
 | 
			
		||||
    "language": "संस्कृतम्"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sc",
 | 
			
		||||
    "language": "sardu"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sd",
 | 
			
		||||
    "language": "सिन्धी"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "se",
 | 
			
		||||
    "language": "Davvisámegiella"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sg",
 | 
			
		||||
    "language": "yângâ tî sängö"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "si",
 | 
			
		||||
    "language": "සිංහල"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sk",
 | 
			
		||||
    "language": "slovenčina"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sl",
 | 
			
		||||
    "language": "slovenščina"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sn",
 | 
			
		||||
    "language": "chiShona"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "so",
 | 
			
		||||
    "language": "Soomaaliga"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sq",
 | 
			
		||||
    "language": "Shqip"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sr",
 | 
			
		||||
    "language": "српски језик"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ss",
 | 
			
		||||
    "language": "SiSwati"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "st",
 | 
			
		||||
    "language": "Sesotho"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "su",
 | 
			
		||||
    "language": "Basa Sunda"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sv",
 | 
			
		||||
    "language": "Svenska"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "sw",
 | 
			
		||||
    "language": "Kiswahili"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ta",
 | 
			
		||||
    "language": "தமிழ்"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "te",
 | 
			
		||||
    "language": "తెలుగు"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tg",
 | 
			
		||||
    "language": "тоҷикӣ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "th",
 | 
			
		||||
    "language": "ไทย"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ti",
 | 
			
		||||
    "language": "ትግርኛ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tk",
 | 
			
		||||
    "language": "Türkmen"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tl",
 | 
			
		||||
    "language": "Wikang Tagalog"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tn",
 | 
			
		||||
    "language": "Setswana"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "to",
 | 
			
		||||
    "language": "faka Tonga"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tr",
 | 
			
		||||
    "language": "Türkçe"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ts",
 | 
			
		||||
    "language": "Xitsonga"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tt",
 | 
			
		||||
    "language": "татар теле"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "tw",
 | 
			
		||||
    "language": "Twi"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ty",
 | 
			
		||||
    "language": "Reo Tahiti"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ug",
 | 
			
		||||
    "language": "ئۇيغۇرچە"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "uk",
 | 
			
		||||
    "language": "Українська"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ur",
 | 
			
		||||
    "language": "اردو"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "uz",
 | 
			
		||||
    "language": "Ўзбек"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "ve",
 | 
			
		||||
    "language": "Tshivenḓa"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "vi",
 | 
			
		||||
    "language": "Tiếng Việt"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "vo",
 | 
			
		||||
    "language": "Volapük"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "wa",
 | 
			
		||||
    "language": "walon"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "wo",
 | 
			
		||||
    "language": "Wollof"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "xh",
 | 
			
		||||
    "language": "isiXhosa"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "yi",
 | 
			
		||||
    "language": "ייִדיש"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "yo",
 | 
			
		||||
    "language": "Yorùbá"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "za",
 | 
			
		||||
    "language": "Saɯ cueŋƅ"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "zh",
 | 
			
		||||
    "language": "中文"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "code": "zu",
 | 
			
		||||
    "language": "isiZulu"
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -76,6 +76,7 @@ import app.fedilab.android.client.entities.api.Mention;
 | 
			
		|||
import app.fedilab.android.client.entities.api.ScheduledStatus;
 | 
			
		||||
import app.fedilab.android.client.entities.api.Status;
 | 
			
		||||
import app.fedilab.android.client.entities.app.BaseAccount;
 | 
			
		||||
import app.fedilab.android.client.entities.app.Languages;
 | 
			
		||||
import app.fedilab.android.client.entities.app.StatusDraft;
 | 
			
		||||
import app.fedilab.android.databinding.ActivityPaginationBinding;
 | 
			
		||||
import app.fedilab.android.databinding.PopupContactBinding;
 | 
			
		||||
| 
						 | 
				
			
			@ -577,6 +578,46 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
 | 
			
		|||
            } else {
 | 
			
		||||
                Toasty.info(ComposeActivity.this, getString(R.string.toot_error_no_content), Toasty.LENGTH_SHORT).show();
 | 
			
		||||
            }
 | 
			
		||||
        } else if (item.getItemId() == R.id.action_language) {
 | 
			
		||||
            final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(ComposeActivity.this);
 | 
			
		||||
            List<Languages.Language> languages = Languages.get(ComposeActivity.this);
 | 
			
		||||
            String[] codesArr = new String[0];
 | 
			
		||||
            String[] languagesArr = new String[0];
 | 
			
		||||
 | 
			
		||||
            String currentCode = sharedpreferences.getString(getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, null);
 | 
			
		||||
            int selection = 0;
 | 
			
		||||
 | 
			
		||||
            if (languages != null) {
 | 
			
		||||
                codesArr = new String[languages.size()];
 | 
			
		||||
                languagesArr = new String[languages.size()];
 | 
			
		||||
                int i = 0;
 | 
			
		||||
                for (Languages.Language language : languages) {
 | 
			
		||||
                    codesArr[i] = language.code;
 | 
			
		||||
                    languagesArr[i] = language.language;
 | 
			
		||||
                    if (currentCode != null && currentCode.equalsIgnoreCase(language.code)) {
 | 
			
		||||
                        selection = i;
 | 
			
		||||
                    }
 | 
			
		||||
                    i++;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            SharedPreferences.Editor editor = sharedpreferences.edit();
 | 
			
		||||
            AlertDialog.Builder builder = new AlertDialog.Builder(ComposeActivity.this, Helper.dialogStyle());
 | 
			
		||||
            builder.setTitle(getString(R.string.message_language));
 | 
			
		||||
 | 
			
		||||
            builder.setSingleChoiceItems(languagesArr, selection, null);
 | 
			
		||||
            String[] finalCodesArr = codesArr;
 | 
			
		||||
            builder.setPositiveButton(R.string.validate, (dialog, which) -> {
 | 
			
		||||
                int selectedPosition = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
 | 
			
		||||
                editor.putString(getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, finalCodesArr[selectedPosition]);
 | 
			
		||||
                editor.apply();
 | 
			
		||||
                dialog.dismiss();
 | 
			
		||||
            });
 | 
			
		||||
            builder.setNegativeButton(R.string.reset, (dialog, which) -> {
 | 
			
		||||
                editor.putString(getString(R.string.SET_COMPOSE_LANGUAGE) + account.user_id + account.instance, null);
 | 
			
		||||
                editor.apply();
 | 
			
		||||
                dialog.dismiss();
 | 
			
		||||
            });
 | 
			
		||||
            builder.create().show();
 | 
			
		||||
        }
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -751,6 +792,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
 | 
			
		|||
                    intent.putExtra(Helper.ARG_STATUS_DRAFT, statusDraft);
 | 
			
		||||
                    intent.putExtra(Helper.ARG_INSTANCE, instance);
 | 
			
		||||
                    intent.putExtra(Helper.ARG_TOKEN, token);
 | 
			
		||||
                    intent.putExtra(Helper.ARG_USER_ID, account.user_id);
 | 
			
		||||
                    intent.putExtra(Helper.ARG_SCHEDULED_DATE, scheduledDate);
 | 
			
		||||
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
 | 
			
		||||
                        startForegroundService(intent);
 | 
			
		||||
| 
						 | 
				
			
			@ -758,7 +800,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
 | 
			
		|||
                        startService(intent);
 | 
			
		||||
                    }
 | 
			
		||||
                } else {
 | 
			
		||||
                    new ThreadMessageService(ComposeActivity.this, instance, token, statusDraft, scheduledDate);
 | 
			
		||||
                    new ThreadMessageService(ComposeActivity.this, instance, account.user_id, token, statusDraft, scheduledDate);
 | 
			
		||||
                }
 | 
			
		||||
                finish();
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,62 @@
 | 
			
		|||
package app.fedilab.android.client.entities.app;
 | 
			
		||||
/* Copyright 2022 Thomas Schneider
 | 
			
		||||
 *
 | 
			
		||||
 * This file is a part of Fedilab
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software; you can redistribute it and/or modify it under the terms of the
 | 
			
		||||
 * GNU General Public License as published by the Free Software Foundation; either version 3 of the
 | 
			
		||||
 * License, or (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
 | 
			
		||||
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 | 
			
		||||
 * Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License along with Fedilab; if not,
 | 
			
		||||
 * see <http://www.gnu.org/licenses>. */
 | 
			
		||||
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity;
 | 
			
		||||
 | 
			
		||||
import com.google.gson.Gson;
 | 
			
		||||
import com.google.gson.annotations.SerializedName;
 | 
			
		||||
import com.google.gson.reflect.TypeToken;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.nio.charset.StandardCharsets;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
public class Languages implements Serializable {
 | 
			
		||||
 | 
			
		||||
    @SerializedName("languages")
 | 
			
		||||
    public List<Language> languages;
 | 
			
		||||
 | 
			
		||||
    public static List<Language> get(AppCompatActivity activity) {
 | 
			
		||||
        try {
 | 
			
		||||
            InputStream is = activity.getAssets().open("languages/iso_639_1.json");
 | 
			
		||||
            int size = is.available();
 | 
			
		||||
            byte[] buffer = new byte[size];
 | 
			
		||||
            is.read(buffer);
 | 
			
		||||
            is.close();
 | 
			
		||||
            String json = new String(buffer, StandardCharsets.UTF_8);
 | 
			
		||||
            Gson gson = new Gson();
 | 
			
		||||
            try {
 | 
			
		||||
                return gson.fromJson(json, new TypeToken<List<Language>>() {
 | 
			
		||||
                }.getType());
 | 
			
		||||
            } catch (Exception e) {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
        } catch (IOException ex) {
 | 
			
		||||
            ex.printStackTrace();
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static class Language implements Serializable {
 | 
			
		||||
        @SerializedName("code")
 | 
			
		||||
        public String code;
 | 
			
		||||
        @SerializedName("language")
 | 
			
		||||
        public String language;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -75,6 +75,7 @@ public class NotificationsWorker extends Worker {
 | 
			
		|||
        String instance = getInputData().getString(Helper.ARG_INSTANCE);
 | 
			
		||||
        String token = getInputData().getString(Helper.ARG_TOKEN);
 | 
			
		||||
        String statusDraftId = getInputData().getString(Helper.ARG_STATUS_DRAFT_ID);
 | 
			
		||||
        String userId = getInputData().getString(Helper.ARG_USER_ID);
 | 
			
		||||
        StatusDraft statusDraft;
 | 
			
		||||
        try {
 | 
			
		||||
            statusDraft = new StatusDraft(getApplicationContext()).geStatusDraft(statusDraftId);
 | 
			
		||||
| 
						 | 
				
			
			@ -82,6 +83,7 @@ public class NotificationsWorker extends Worker {
 | 
			
		|||
            intent.putExtra(Helper.ARG_STATUS_DRAFT, statusDraft);
 | 
			
		||||
            intent.putExtra(Helper.ARG_INSTANCE, instance);
 | 
			
		||||
            intent.putExtra(Helper.ARG_TOKEN, token);
 | 
			
		||||
            intent.putExtra(Helper.ARG_USER_ID, userId);
 | 
			
		||||
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
 | 
			
		||||
                getApplicationContext().startForegroundService(intent);
 | 
			
		||||
            } else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,6 +74,7 @@ public class ScheduleThreadWorker extends Worker {
 | 
			
		|||
        Data outputData;
 | 
			
		||||
        String instance = getInputData().getString(Helper.ARG_INSTANCE);
 | 
			
		||||
        String token = getInputData().getString(Helper.ARG_TOKEN);
 | 
			
		||||
        String userId = getInputData().getString(Helper.ARG_USER_ID);
 | 
			
		||||
        String statusDraftId = getInputData().getString(Helper.ARG_STATUS_DRAFT_ID);
 | 
			
		||||
        StatusDraft statusDraft;
 | 
			
		||||
        try {
 | 
			
		||||
| 
						 | 
				
			
			@ -82,6 +83,7 @@ public class ScheduleThreadWorker extends Worker {
 | 
			
		|||
            intent.putExtra(Helper.ARG_STATUS_DRAFT, statusDraft);
 | 
			
		||||
            intent.putExtra(Helper.ARG_INSTANCE, instance);
 | 
			
		||||
            intent.putExtra(Helper.ARG_TOKEN, token);
 | 
			
		||||
            intent.putExtra(Helper.ARG_USER_ID, userId);
 | 
			
		||||
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
 | 
			
		||||
                getApplicationContext().startForegroundService(intent);
 | 
			
		||||
            } else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,9 +202,10 @@ public class PostMessageService extends IntentService {
 | 
			
		|||
                if (error) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                String language = sharedPreferences.getString(context.getString(R.string.SET_COMPOSE_LANGUAGE) + dataPost.userId + dataPost.instance, null);
 | 
			
		||||
                if (dataPost.scheduledDate == null) {
 | 
			
		||||
                    statusCall = mastodonStatusesService.createStatus(null, dataPost.token, statuses.get(i).text, attachmentIds, poll_options, poll_expire_in,
 | 
			
		||||
                            poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoiler_text, statuses.get(i).visibility.toLowerCase(), statuses.get(i).language);
 | 
			
		||||
                            poll_multiple, poll_hide_totals, in_reply_to_status, statuses.get(i).sensitive, statuses.get(i).spoiler_text, statuses.get(i).visibility.toLowerCase(), language);
 | 
			
		||||
                    try {
 | 
			
		||||
                        Response<Status> statusResponse = statusCall.execute();
 | 
			
		||||
                        if (statusResponse.isSuccessful()) {
 | 
			
		||||
| 
						 | 
				
			
			@ -339,11 +340,13 @@ public class PostMessageService extends IntentService {
 | 
			
		|||
        StatusDraft statusDraft = null;
 | 
			
		||||
        String token = null, instance = null;
 | 
			
		||||
        String scheduledDate = null;
 | 
			
		||||
        String userId = null;
 | 
			
		||||
        if (intent != null && intent.getExtras() != null) {
 | 
			
		||||
            Bundle b = intent.getExtras();
 | 
			
		||||
            statusDraft = (StatusDraft) b.getSerializable(Helper.ARG_STATUS_DRAFT);
 | 
			
		||||
            token = b.getString(Helper.ARG_TOKEN);
 | 
			
		||||
            instance = b.getString(Helper.ARG_INSTANCE);
 | 
			
		||||
            userId = b.getString(Helper.ARG_USER_ID);
 | 
			
		||||
            scheduledDate = b.getString(Helper.ARG_SCHEDULED_DATE);
 | 
			
		||||
        }
 | 
			
		||||
        //Should not be null, but a simple security
 | 
			
		||||
| 
						 | 
				
			
			@ -356,6 +359,7 @@ public class PostMessageService extends IntentService {
 | 
			
		|||
        DataPost dataPost = new DataPost();
 | 
			
		||||
        dataPost.instance = instance;
 | 
			
		||||
        dataPost.token = token;
 | 
			
		||||
        dataPost.userId = userId;
 | 
			
		||||
        dataPost.statusDraft = statusDraft;
 | 
			
		||||
        dataPost.scheduledDate = scheduledDate;
 | 
			
		||||
        dataPost.notificationBuilder = notificationBuilder;
 | 
			
		||||
| 
						 | 
				
			
			@ -367,6 +371,7 @@ public class PostMessageService extends IntentService {
 | 
			
		|||
    static class DataPost {
 | 
			
		||||
        String instance;
 | 
			
		||||
        String token;
 | 
			
		||||
        String userId;
 | 
			
		||||
        StatusDraft statusDraft;
 | 
			
		||||
        int messageToSend;
 | 
			
		||||
        int messageSent;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,9 +22,10 @@ import app.fedilab.android.client.entities.app.StatusDraft;
 | 
			
		|||
 | 
			
		||||
public class ThreadMessageService {
 | 
			
		||||
 | 
			
		||||
    public ThreadMessageService(Context context, String instance, String token, StatusDraft statusDraft, String scheduledDate) {
 | 
			
		||||
    public ThreadMessageService(Context context, String instance, String userId, String token, StatusDraft statusDraft, String scheduledDate) {
 | 
			
		||||
        PostMessageService.DataPost dataPost = new PostMessageService.DataPost();
 | 
			
		||||
        dataPost.instance = instance;
 | 
			
		||||
        dataPost.userId = userId;
 | 
			
		||||
        dataPost.token = token;
 | 
			
		||||
        dataPost.scheduledDate = scheduledDate;
 | 
			
		||||
        dataPost.statusDraft = statusDraft;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10
									
								
								app/src/main/res/drawable/ic_baseline_language_24.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/src/main/res/drawable/ic_baseline_language_24.xml
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    android:width="24dp"
 | 
			
		||||
    android:height="24dp"
 | 
			
		||||
    android:tint="#FFFFFF"
 | 
			
		||||
    android:viewportWidth="24"
 | 
			
		||||
    android:viewportHeight="24">
 | 
			
		||||
    <path
 | 
			
		||||
        android:fillColor="@android:color/white"
 | 
			
		||||
        android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM18.92,8h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2L4.26,14zM5.08,16h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zM8.03,8L5.08,8c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14L9.66,14c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zM14.59,19.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z" />
 | 
			
		||||
</vector>
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +11,11 @@
 | 
			
		|||
        android:icon="@drawable/ic_baseline_contact_page_24"
 | 
			
		||||
        android:title="@string/contact"
 | 
			
		||||
        app:showAsAction="ifRoom" />
 | 
			
		||||
    <item
 | 
			
		||||
        android:id="@+id/action_language"
 | 
			
		||||
        android:icon="@drawable/ic_baseline_language_24"
 | 
			
		||||
        android:title="@string/languages"
 | 
			
		||||
        app:showAsAction="ifRoom" />
 | 
			
		||||
    <item
 | 
			
		||||
        android:id="@+id/action_microphone"
 | 
			
		||||
        android:icon="@drawable/ic_baseline_mic_24"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -864,6 +864,7 @@
 | 
			
		|||
    <string name="SET_TIME_FROM" translatable="false">SET_TIME_FROM</string>
 | 
			
		||||
    <string name="SET_TIME_TO" translatable="false">SET_TIME_TO</string>
 | 
			
		||||
    <string name="SET_MED_DESC_TIMEOUT" translatable="false">SET_MED_DESC_TIMEOUT</string>
 | 
			
		||||
    <string name="SET_COMPOSE_LANGUAGE" translatable="false">SET_COMPOSE_LANGUAGE</string>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <string name="SET_NOTIF_FOLLOW" translatable="false">SET_NOTIF_FOLLOW</string>
 | 
			
		||||
| 
						 | 
				
			
			@ -980,6 +981,7 @@
 | 
			
		|||
    <string name="clear_cache">Clear cache</string>
 | 
			
		||||
    <string name="delete_cache_message">Are you sure you want to delete cache? If you have drafts with media, the attached media will be lost.</string>
 | 
			
		||||
    <string name="default_system_language">Use the default system language</string>
 | 
			
		||||
    <string name="message_language">Language for messages</string>
 | 
			
		||||
 | 
			
		||||
    <string-array name="photo_editor_emoji" translatable="false">
 | 
			
		||||
        <!--  Smiles  -->
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue