Tag Archives: Uncategorized

Translate My Lingo App – Updated March 28

Is in the Windows App Store Now! Got a lot of work to do on the store interface but the app is solid. You can find it here https://www.microsoft.com/store/apps/9N8P4P51GR5V it’s a fast-loading four-tab app that requires both an Azure Translation Subscription and a Google Translate API Key. You can get both on a free track and with Azure translate 2M characters a month with it free. Google gives you a 10 dollar credit that allows up to 500,000 characters translated each month.

With it, you can skip about half the Google 300 US fee to translate your Play Store entries for all the languages you have localized and get it done yourself pretty quickly.

Also, once you’ve localized the second tab of the app will translate your app update note into about 80 languages for you. All you have to do is copy and paste once it’s done and that’s it.

Here is patch note translation in action, kinda long but it is translating the patch notes into over 80 plus languages.

A shot of the main store front translator

John

A Couple of new Projects Almost Ready for Testing

Here is a video sample of my Google Developer Console Language Manager. It will convert your boilerplate store description over to any language and it’s just a click and paste to the new page to get it on a new language. Also, it will take your update notes from your default language and convert them into the proper format and languages of all the google supported languages so that all your supported platforms get the update notes in their native language. It’s just a cut-and-paste operation.

Here is an embed of it in action:

The language translation is handled by Azure Cognitive AI Translation. It is missing some languages so eventually, I’ll have to figure out how to integrate Google’s Translate into the picture for full coverage. But it covers about 85 percent which is a broad audience to reach and it makes it much easier and more automated. It should be in the Windows Store next week for 5 dollars with lifetime updates and fixes, you just need to supply your own Azure Cognitive Account with its coordinates.

Added A Little AI to My Prototype

Since the app can take pictures and share them within their respective lists I thought it would be best to ensure no nefarious picture sharing was going on. So I added Azure’s Cognitive ComputerVision AI service to my app to scan for Adult Images and the like and stop them from being uploaded or shared.

It was pretty easy, here is the Gist:

try
{
var connectionString = AppSettings.VisionEndPoint;
var visionKey = AppSettings.VisionKey;
List<VisualFeatureTypes?> features = new List<VisualFeatureTypes?>()
{
VisualFeatureTypes.Categories, VisualFeatureTypes.Description,
VisualFeatureTypes.Faces, VisualFeatureTypes.ImageType,
VisualFeatureTypes.Tags, VisualFeatureTypes.Adult,
VisualFeatureTypes.Color, VisualFeatureTypes.Brands,
VisualFeatureTypes.Objects
};
ComputerVisionClient computerVisionClient = new ComputerVisionClient(
new ApiKeyServiceClientCredentials(visionKey),
new DelegatingHandler[] { }
)
{
Endpoint = connectionString
};
using var myStream2 = File.OpenRead(PhotoPath);
using (var fs = myStream2)
{
ImageAnalysis result = computerVisionClient.AnalyzeImageInStreamAsync(image: fs, features)
.Result;
Debug.WriteLine(result.Adult.IsAdultContent + " :: " + result.Adult.IsRacyContent + " :: " + result.Adult.IsGoryContent);
{
if (result.Adult.IsAdultContent || result.Adult.IsRacyContent ||
result.Adult.IsGoryContent)
{
DependencyService.Get<iToast>().Show("Adult Content Is Not Allowed!");
donotrun = true;
}
}
myStream2.Close();
}
if (!donotrun)
{
using var myStream = File.OpenRead(PhotoPath);
await blobClient.UploadAsync(myStream);
myStream.Close();
}
}
catch (RequestFailedException e)
{
Crashes.TrackError(e);
Debug.WriteLine("Something Occurred: " + e.Status);
}

John

Exciting things happening with the app prototype

I have been making a lot of changes and updates to the interface for the different platforms. Especially phones as far a layout and formating go, they were lacking on that front.

I have added the ability to search and add items to your lists from Walmart.com which is a boon and a very much needed addition. I’m really excited about this even though it is another cost on the backend.

As far as I go I have gotten my Covid Booster shot and feel a lot better about going out now lol. I’m silently preparing for graduate school to start in December. I really am looking for to get back into the education world and start learning new things from that perspective!

John

App Prototype Update

I now am deploying my app prototype through all the testing channels of all the platform stores (Apple, Microsoft, Google). Always could use a couple of more testers, it runs on Android, iOS, iPadOS, and Windows!

I have been moving all my keys and app secrets out to the BuildTools package appsettings.json file that is kept locally and not uploaded to the repo. It is a handy package that really keeps my code safe from prying eyes.

I have commented on my two Xamarin.Forms bug reports that I opened last March and February on GitHub.com to hopefully get some traction on them since they are supposed to be on track to being fixed. I have a new issue with a WebView that does not display the input field of a chat form at the proper size on iOS. It looks fine on Android but it is really, really tiny on iOS.

I have fixed a couple of nagging issues with the UI that has been bothering me with the prototype. I adjusted the shopping cart feedback icon on the Home View to not half-disappear upon loading the page with items on iOS. It now keeps its wheels above water so to speak LOL. I also adjust the LaunchScreen.Storyboard to increase the size of the iPhone logo so that it is more readable and larger to viewers. I hate working with the XCode Interface Designer but until MS puts something back into Visual Studio I am stuck with it.

John

Glad I did not switch to NoSQL

I am definitely glad I did not switch to CosmosDB on Azure after the announcement of the security issue with it. I would not want my data made available to anyone on the internet to access at will LOL. Hopefully, a fix for this is made soon to resolve the breach at Azure and restore trust in CosmosDB again.

Added A Little AI to the App

I added Azure’s QnA bot to the help section of my app, I updated all the help topics and added some pictures. It goes by keywords assigned to a topic but also I added the General Conversation ability through an upload. So you can talk to it as well.

It works really nice and I add a header to the page with some hints at what to ask the bot to get help on a particular topic which should help get people started.

I call it a spoon-fed AI as you need to set the trigger words or phrases to reply with a knowledge base article but it works really well.

Azure NoSQL

I was considering changing databases to NoSQL but it would require such a large re-write of My Simple Grocery List that it would be easier to just stay with Azure SQL Server. It would be nice to migrate to it but I think that would be when I have more time on my hands and no school. SQL Server also allows me some leeway in how I handle the sharing between clients and I do not think that NoSQL would allow that.

I also considered changing to Firebase but I am so invested in Azure now that to change would also mean a new rewrite of code and they for sure use NoSQL DBs.

Well, when I have the time I will make a transition either way and see how it goes!

John